2011年7月30日 星期六

Linux 資料夾同步:lftp, rsync

lftp

lftp -c 'open -e "mirror /var/www/vhosts/example.com /backup/www/" sftp://帳號:密碼@遠端主機的IP'
(目的端是上層資料夾,結尾有斜線)

或是
lftp -c 'open -e "mirror /var/www/vhosts/example.com /backup/www/example.com" sftp://帳號:密碼@遠端主機的IP'
(目的端的資料夾就是來源端的資料夾,結尾沒有斜線)

雖然使用 mirror ,但並不是真的鏡像,不會刪除檔案。假設來源資料夾有 a.txt,目的資料夾有 b.txt,執行之後,目的資料夾同時會有 a.txt 跟 b.txt。


rsync
從遠端來源 123.123.123.123 同步到本機
rsync -avHP --delete --rsh='ssh -p 22' root@123.123.123.123:/var/www/websites/remote.com/httpdocs/ /var/www/websites/local.com/httpdocs/
注意!rsync 對路徑的判斷跟 lftp 不一樣。
上面的來源跟目的,路徑結尾都有斜線。
如果下面是這樣:
rsync -avHP --delete /var/www/vhosts/example.com /backup/www/example.com
來源跟目的都沒有斜線, 你以為兩邊都沒有,效果應該一樣吧。
實際執行後,目的端的資料夾會變成 /backup/www/example.com/example.com
會多一層。

沒有留言:

張貼留言