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
Leave a Reply