rsync檔案同步使用記錄
阿新 • • 發佈:2018-11-11
這裡記錄一個在工作中需要使用的rsync進行儲存檔案備份的方法。
需求:
在伺服器端進行錄音檔案儲存,不但檔案要儲存到伺服器上,還需定時備份到儲存上。
一. 檔案備份源端配置
1、在 /etc/路徑下建立rsyncd.conf 檔案,檔案內容如下:
uid = root gid = root use chroot = no max connections = 4 pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock log file = /var/log/rsyncd.log [web] path = /var/ftp/file #需要備份的路徑,按需求更改 ignore errors read only = true list = false hosts allow = 192.168.0.0 # 允許的IP地址,* 為全部允許 auth users = root # 認證使用者名稱 secrets file = /etc/rsync.passwd # 認證使用者的密碼檔案
2、在 /etc/路徑下建立密碼檔案rsync.passwd檔案,檔案內容如下:
root:skyfans # 認證使用者名稱密碼,按需求更改
二. 檔案備份目標端配置
1、在 /etc/路徑下建立密碼檔案rsync.passwd檔案,檔案內容如下:
root:skyfans # 認證使用者名稱密碼,必須與源端配置相同
三. 配置檔案賦權
rsyncd.conf和rsync.passwd檔案需要賦予600許可權,許可權過大可能會報錯,
賦權命令為:
chmod 600 rsyncd.conf rsync.passwd
四. 檢視是否存在rsync命令
rsync
rpm -qa|grep rsync
如果該伺服器不存在命令則需安裝。
五. 啟動rsync服務
啟動命令為:
/usr/bin/rsync --daemon --config=/etc/rsyncd.conf
僅備份檔案源端需要啟動服務, 通過ps -ef|grep rsync 檢視程序
ps -ef|grep rsync
六. rsync引數及用法舉例
rsync -a --password-file=/etc/rsync.passwd --delete --bwlimit=10240 [email protected]
rsync -a --password-file=/etc/rsync.passwd --delete --bwlimit=10240 [email protected]源端IP::web /home/file
引數說明:
/home/file為目標端檔案備份路徑;
web =rsyncd.conf 檔案中[web];
-a: -archive 歸檔模式,表示以遞迴方式傳輸檔案,並保持所有檔案屬性,等於-rlptgoD;
–password-file=FILE 從FILE中得到密碼;
–bwlimit=KBPS 限制I/O頻寬,KBytes per second;
–delete 刪除那些DST中SRC沒有的檔案。
以下為指令碼舉例,僅作為參考:
#!/bin/bash
DATE=`date`
starttime=`date +%s`
rsync -a --password-file=/etc/rsync.passwd --delete [email protected]::web1 /home/file
endtime=`date +%s`
baktime=`expr $endtime - $starttime`
echo "rsync OK at $DATE">>/tmp/rsync.log
echo "rsync timeused $baktime second" >>/tmp/rsync.log
if [ $? -eq 0 ]
then
echo "rsync failed at $DATE" >/tmp/rsync_failed.log
exit 1
fi
sleep 86400
done