一、思路
1.所用軟件rsync、crond服務
2.在服務器上配置rsync服務端,啓動服務並加入開機啓動
3.客戶端加入crond任務計劃,讓其定時執行rsync
4.最後服務端要確保自動啓動rsync服務,客戶端自動啓動crond服務
二、配置(rsync服務端+rsync客戶端)
服務端
[root@server ~]# vim/etc/rsyncd.conf 創建主配置文件
uid = nobody 傳輸文件時守護進程所具有的uid號(默認nobody)
gid = nobody 傳輸文件時守護進程所具有的gid號(默認nobody)
use chroot = no yes表示額外的安全防護,no則沒有定義
log file = /var/log/rsyncd.log 定義日誌文件
pid file = /var/run/rsyncd.pid 定義pid文件
[tools] 認證模塊名
path = /usr/src 要同步的路徑
read only = yes 同步權限只讀
auth users = web1 認證用戶
secrets file = /etc/rsyncd.pas 認證用戶和密碼要存放的文件
[root@server ~]# vim/etc/rsyncd.pas 創建認證文件
web1:123456
[root@server~]# chmod 600 /etc/rsyncd.pas此步一定要更改權限,否則認證會出錯
[root@server ~]# rsync --daemon 啓動服務
[root@server ~]# netstat -auntlp | grep rsync 查看默認端口873是否開啓,表示服務啓動
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 7505/rsync
[root@server ~]# echo "rsync --daemon" >> /etc/rc.local 開機自動啓動rsync服務
[root@server ~]# tail -1 /etc/rc.local 查看是否寫入到開機啓動腳本里
rsync --daemon
客戶端
[root@client ~]# rsync -avz [email protected]::tools /bak/
[root@ client ~]# ls /bak/
debug kernels vmware-tools-distrib
爲了加入定時計劃,免去手動輸入密碼,用選項--password-file=“文件路徑”
--password-file是rsync的一個選項,用它指定密碼文件所在,避免手動輸入驗證,所以必須創建此密碼文件,密碼要與服務端定義的密碼一致,並且需要更改此文件的權限600,所有者爲root
[root@client ~]# vim /etc/rsyncd.pas
123456
[root@client ~]# chmod 600 /etc/rsyncd.pas
[root@client ~]# rsync -avz --password-file=/etc/rsyncd.pas [email protected]::tools /bak/
經過手動測試沒問題,將同步加入crond定時計劃任務
[root@client ~]# crontab –e
* */6 * * * rsync -avz --password-file=/etc/rsyncd.pas [email protected]::tools /bak/
注:此任務是定義每6個小時執行一次備份 5個字段分別是:分、時、日、月、周
[root@client ~]# service crond restart重啓crond加載任務
停止 crond: [確定]
正在啓動 crond: [確定]
[root@client ~]# crontab -l查看已定義的計劃任務
* */6 * * * rsync -avz--password-file=/etc/rsyncd.pas [email protected]::tools /bak/
[root@client ~]# chkconfig--list crond
crond 0:關閉 1:關閉 2:啓用 3:啓用 4:啓用 5:啓用 6:關閉
三、rsync工具常用選項
-a:歸檔模式,相當於-rlptgoD
-v:顯示同步過程詳細信息
-z:傳輸過程中啓用壓縮
-H:保留硬連接文件
-A:保留文件的ACL屬性信息
--delete:刪除目標有而源沒有的文件
--checksum:根據校驗和來決定是否要同步
--password-file=:指定認證口令文件
注:上述選項的-a代表多個意義(常用-a選項)
-a=rlptgoD
-r:遞歸,包括目錄/子目錄及所有文件
-l:保留符號鏈接文件
-p、-t:保留文件的權限、時間標記
-o、-g:保留文件的屬主/屬組標記
-D:保留設備文件及其他特殊文件