Menyinkronkan file melalui FTP

11

Saya perlu menyinkronkan file di komputer saya dengan server yang saya hanya punya akses FTP. Jadi saya tidak dapat menggunakan rsync (yang membutuhkan setidaknya SFTP, tetapi satu-satunya saluran yang tersedia untuk saya adalah vanilla FTP biasa).

Saya hanya perlu sinkronisasi satu arah: dari mesin saya ke server. Saya telah mendengar tentang program yang disebut serempak , tetapi tampaknya dimaksudkan untuk sinkronisasi dua arah dan saya tidak yakin apakah itu dapat di-tweak untuk melakukan apa yang saya inginkan. Saya juga harus menambahkan bahwa program harus bekerja secara non-interaktif, sehingga dapat digunakan di dalam skrip.

Opsi terakhir adalah menulis skrip saya sendiri yang membandingkan file dengan waktu modifikasi (atau sesuatu seperti itu) dan menyalinnya dari yang sudah berubah. Saya sudah berhasil me-mount direktori FTP ke direktori lokal, jadi masalahnya timbul hanya dengan menyinkronkan dua direktori. Tetapi firasat saya mengatakan kepada saya, bahwa pasti ada sesuatu seperti itu sudah ada di alam liar.

Rene Saarsoo
sumber

Jawaban:

14

Karena saya tidak bisa mulai wputbekerja, saya mencari alternatif dan menemukan: ncftp .

Lebih khusus ncftpput tampaknya melakukan hampir apa yang dirancang untuk dilakukan wput. Yang paling penting bagi saya, tidak crash seperti wput Dan memang berhasil mengunggah hanya file-file yang tidak berubah menggunakan opsi -z :

ncftpput -z -u user -p pass ftp.mydomain.com dir/name files-to-upload...
Rene Saarsoo
sumber
bekerja dengan sempurna untuk saya
roman m
Pada OSX, menginstal melalui: brew install ncftp.
kenorb
1
Untuk menyalin seluruh pohon direktori, gunakan -R.
kenorb
+1 untuk penggunaan tanpa label dari -z yang berarti "noclobber" / "jangan menimpa"
barrycarter
Saya berharap saya menemukan ini 2 hari yang lalu. Saya menyerah di ncftpget karena halaman manual tidak menunjukkan opsi "hanya yang lebih baru" "lewati yang ada". Aku mengalahkan kepalaku di lftp - dari BASH ke Python. Kemudian saya mencoba lagi untuk ncftp di Google dan menemukan solusi Anda. Saya mencarinya untuk ncftpget (halaman manual) - "-z / -Z Jangan (jangan) mencoba melanjutkan transfer. Standarnya adalah mencoba melanjutkan". Kedengarannya tidak meyakinkan. Tapi, sial ya .. itu pilihan yang saya cari: unduh hanya file baru menggunakan ncftpget. Saya harap komentar ini membantu seseorang.
Anup Nair
4

lftptampaknya juga sesuai di sini: /programming//a/693280/480534

Ringkasan:

lftp <username>@<server>
  mirror -c <source> <dest>
  exit
Robert Muil
sumber
3

Tentu, dan itu disebut wput

pengguna7963
sumber
Tentu saja! Bagaimana saya tidak memikirkan hal itu. Benar-benar lupa program itu. Saya pikir itu akan bekerja, tapi aku akan melaporkan kembali ketika aku kembali ke rumah untuk mencobanya ...
Rene Saarsoo
Untuk beberapa wasin reasin memberi saya "Segmentasi kesalahan" ketika saya mencoba mengunggah sesuatu.
Rene Saarsoo