Saya menulis skrip shell Linux untuk menyalin direktori lokal ke server jauh (menghapus file yang ada).
Server lokal: ftp
dan lftp
perintah tersedia, tidak ada ncftp
atau alat grafis apa pun.
Server jauh: hanya dapat diakses melalui FTP. Tidak ada rsync atau SSH atau FXP.
Saya berpikir tentang daftar file lokal dan jarak jauh untuk menghasilkan skrip lftp dan kemudian menjalankannya. Apakah ada cara yang lebih baik?
Catatan: Mengunggah hanya file yang dimodifikasi akan menjadi nilai tambah, tetapi tidak diperlukan.
wput
(pengunggah ftp wget-like):wput dir/ ftp://user:pass@host/dir
Jawaban:
lftp harus dapat melakukan ini dalam satu langkah, khususnya dengan
lftp mirror
:EDIT: sintaks perintah lftp membingungkan, doa asli yang saya posting tidak berfungsi. Coba seperti ini:
catat kutipan di sekitar argumen ke
-e
sakelar.sumber
Berdasarkan ide Phil menggunakan mode cermin lftp, perintah ini melakukan trik:
Kekurangannya adalah ia membutuhkan server lokal untuk menjalankan server FTP.
sumber
Ini berhasil bagi saya, banyak upaya lain gagal. Setelah di lftp, info lebih lanjut tersedia melalui:
sumber
mirror -R
sini.Akhirnya mendapat jawabannya !!! Buat skrip shell ftpmirror.sh
Jika paket lftp tidak diinstal, instal dengan yum.
sumber