使用lftp增量網站備份(lftp實例介紹)



這篇文章講的是利用lftp命令行ftp工具進行網站數據的增量備份。上次我們講到如何架設rsync服務器進行數據同步,當然,如何你是把數據備份到另一臺vps或是服務器的話,還是推薦用rsync備份,但是如果你是把數據備份到只有FTP服務器的虛擬主機,比如免費的GD空間,那lftp備份是不二的選擇了。

如果沒有安裝lftp,
CentOS系統可以使用yum install lftp來安裝。
爲了介紹這一種備份方法,我們將會循序漸進地介紹lftp的使用。如果ftp服務器支持匿名連接,你可以簡單的使用以下命令連接。

  1. lftp ftpsite 

如果是需要密碼的話,可以使用以下命令連接。

  1. lftp -u username,password ftpsite 

爲了同步本地的一個文件夾到遠程文件夾,lftp增加了mirror命令。不用設置其它的選項,你只需要指定本地目錄和遠程目錄即可。

  1. mirror -R 本地目錄 遠程目錄 

mirror命令提供了幾個實用的選項來控制同步進程。例如使用–delete選項,mirror命令會刪除遠程備份服務器中存在的文件而本地服務器不存在的文件,當使用–only-newer選項時lftp只上傳新的文件。另一個選項是–exclude,它允許你指定不需要同步的文件夾。如果你想監視同步的進程,可以使用–verbose選項。
每次同步時都要先執行lftp,再執行mirror命令是一件很煩人的事,幸運的事,lftp軟件支持把兩條命令合成一條,你只需要添加-e選項就可以告訴lftp執行連接服務器後接着運行指定命令。

  1. lftp -u username,password -e "mirror -R --delete --only-newer --verbose 本地目錄 遠程目錄" ftpsite 

你也可以把命令存在一個文件裏面,只需要添加-f選項。

  1. lftp -f /home/user/ftpscript.txt 

lftp提供了一些智能的功能,at選項可以很方便地指定在什麼時候運行程序。下面的命令表示是零晨運行:

  1. lftp at 00:00 -u username,password -e "mirror -R --delete --only-newer --verbose 本地目錄 遠程目錄" ftpsite & 

注意&符號,它表示讓命令在後臺運行而不需要一直開着終端。
現在你已經知道如何使用lftp進行本地目錄和遠程目錄之間的同步了,但是當本地服務器數據丟失的時候如何恢復呢?很簡單,你只需要刪除-R選項,lftp就會下載遠程的文件到本地。如:

  1. lftp -u username,password -e "mirror --delete --only-newer --verbose 本地目錄 遠程目錄" ftpsite 

上面只介紹幾個常用的lftp命令,如何你需要了解更多的lftp命令使用方法,可以使用man lftp命令查看所有的lftp命令。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章