Linux rsync同步文件腳本

使用rsync可以實現文件備份同步,現實的一個使用場景是,在後臺上傳的模板文件,需要同步到另一臺服務器,通過別的域名地址訪問,這就需要把後臺上傳的文件自動同步到對外可訪問的服務器。

記錄一個rsync同步文件的sh腳本,作爲例子:

#!/bin/bash
rsync -avz --password-file=/etc/rsync.msg.key /usr/local/zeus/htdocs/act.example.com  [email protected]::act.vip1  --port=873
rsync -avz --password-file=/etc/rsync.msg.key /usr/local/zeus/htdocs/act.example.com  [email protected]::act.vip1  --port=873
servers='t16b21 c16b181'
src='/usr/local/zeus/htdocs/example.com'
for server in $servers
do
        dst="vip@${server}.sandai.net::act.vip1"
        rsync -avz --password-file=/etc/rsync.msg.key $src $dst  --port=8873
#	rsync -avz -e ssh /usr/local/zeus/htdocs/act.example.com root@$server.sandai.net:/usr/local/zeus/htdocs/
done

再來一個:

#!/bin/bash
server="t16b21 c16b181"
for i in $server
do
rsync -avz /usr/local/zeus/htdocs/images.client.example.com/ vip@$i.example.net::images.client/ --port=8873 --password-file=/etc/client.secret
rsync -avz /usr/local/zeus/htdocs/images.client.example.com/ vip@$i.example.net::images.client/ --port=873 --password-file=/etc/client.secret
done

在PHP中使用exec函數可以執行sh腳本文件,實現文件同步,如下:

exec ( "/usr/local/bin/rsync_act_vip_xunlei_com_to_twin14419.sh" );

這樣當在後臺上傳文件完成後,即可使用exec執行同步腳本把文件同步到另一臺服務器。

當然rsync還有更多的使用場景。


http://blog.tanteng.me/2016/05/linux-rsync/



發佈了57 篇原創文章 · 獲贊 13 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章