LFTP Untuk Sinkronisasi Antar Server

Pada linux, untuk melakukan sinkronisasi antar server, selain menggunakan rsync kita juga bisa menggunakan lftp. Lftp adalah sebuah ftp client yang bisa melakukan rekursi ke dalam setiap sub folder untuk keperluan sinkronisasi files secara mudah. Persis sepeti rsync, hanya saja lftp tidak memiliki fitur delta compression dan tidka bekerja berdasarkan perubahan blok (dia mengecek timestamp). Bagaimana cara menggunakannya?

Pertama, install lftp di linux Anda. Untuk CentOS, gunakan command

yum install lftp

atau kalau logged in sebagai non root awali dengan sudo

sudo yum install lftp

Kedua, koneksikan lftp dengan server ftp remote

# lftp -u username,password myftp.servername

Kalau remote server Anda tidak mendukung SSL, matikan support SSL di lftp (paksa menggunakan port 21) supaya tidak macet di koneksi/handshake SSL

# lftp -e "set ftp:ssl-allow off;" -u username,password myftp.servername

Bisa juga login normal terlebih dahulu, baru matikan kebutuhan ssl dengan command:

# set ssl:verify-certificate false

Ketiga, lakukan mirror

Kalau ingin mirror DARI REMOTE ke LOCAL, gunakan command

# mirror --continue --delete --verbose $REMOTE_FOLDER $LOCAL_FOLDER

Kalau ingin mirror DARI LOCAL ke REMOTE, gunakan command

# mirror --continue --delete --verbose --reverse $LOCAL_FOLDER $REMOTE_FOLDER

Mengatasi Mirroring Data Yang Lambat

Kalau data yang ingin dimirror banyak maka akan lambat karena harus melakukan sync ribuan files. Solusinya kita aktifkan check berdasar waktu listing file

Lihat tutorialnya di https://stackoverflow.com/questions/36666680/speeding-up-lftp-mirroring-with-many-directories/36691918

Membuat Script LFTP Upload Sync Otomatis

Jika ingin mudah dan bisa dibuat cron otomatis, buat sebuah file .txt seperti ini:

set ftp:ssl-allow on
set ftp:ssl-force true
set ftp:ssl-protect-data true 
set ssl:verify-certificate false
open ftp://my.ftpserver.com -p 21
user username pass
mirror --continue --delete --verbose --reverse /path/to/local_folder/ /path/to/remote_folder/
bye

Selanjutnya save file di atas sebagai “lftp_upload.txt”, lalu jalankan dengan command

lftp -f lftp_upload.txt

Membuat Script LFTP Download Sync Otomatis

Kebalikan dari upload script, script berikut akan mendownload file dari remote server untuk di-sync ke local folder.

set ftp:ssl-allow on
set ftp:ssl-force true
set ftp:ssl-protect-data true 
set ssl:verify-certificate false  
open ftp://my.ftpserver.com -p 21
user username pass
mirror --continue --delete --verbose /path/to/remote_folder/ /path/to/local_folder/
bye

Selanjutnya save file di atas sebagai “lftp_download.txt”, lalu jalankan dengan command

lftp -f lftp_download.txt

Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *