Semua Waktu Lftp Mirroring

0

Cara membuat lftp berjalan di latar belakang sepanjang waktu dan mendorong setiap perubahan yang dibuat ke folder lokal ke folder di server jauh. Perintah mirror terbalik normal tidak berfungsi untuk semua waktu dan khusus untuk perubahan. Pada dasarnya saya ingin menjaga kedua folder tetap sinkron. Terima kasih

Jatin Luthra
sumber
Sudahkah Anda mempertimbangkan untuk menjalankannya melalui cron? Atau menggunakan rsync untuk meminimalkan lalu lintas?
Romeo Ninov
Bagaimana dengan cron? Juga rsync tidak akan berfungsi dengan ftp
Jatin Luthra
Anda dapat tunnel rsync melalui ssh. Anda dapat mengatur skrip cron, yang tidak dapat menjalankan lftp (misalnya setiap 5 menit) dan perintah exec untuk mengunggah file / direktori
Romeo Ninov
Bisakah Anda memposting kode atau tautan?
Jatin Luthra
Berikut adalah contoh perintah untuk rsync melalui ssh local dir ke remote dir: rsync -avz -e ssh / local / path user @ remote-host: / remote / path
Romeo Ninov

Jawaban:

0

Gunakan fungsi cermin dan cron untuk memicunya berulang kali.

Masukkan ini ke dalam skrip (eG ~/push_to_server.sh):

cd [PATH_THAT_YOU_WANT_TO_COPY]
lftp -c "open [HOST] -u [USER],[PASSWORD]; mirror -R [PATH_ON_SERVER]"

Anda ingin mencari fungsi '-e' dan '-P' dari mirror lftp di manual Anda ( man lftp) dan mungkin menggunakannya bersama-sama dengan -R.

Sekarang Anda mengaktifkan skrip itu setiap beberapa menit dengan cron. Jalankan crontab -edan tambahkan:

*/5 * * * * ~/push_to_server.sh

Itu akan memulai skrip setiap 5 menit (harap baca man 5 crontabuntuk memahami apa yang sebenarnya dilakukan 5 dan tanda bintang sebelum mengubahnya). Pastikan untuk menunjuk ke jalur skrip yang sebenarnya jika Anda memindahkannya atau menjalankan crontab sebagai pengguna yang berbeda.

Jika sinkronisasi ftp Anda membutuhkan waktu lebih dari 5 menit (pada waktu puncak) Anda harus mengubah cron. Baca man 5 crontabuntuk mempelajari cara melakukannya.

Angelo Fuchs
sumber