簡單單向同步配置:
安裝redhat7.1系統時,已經安裝rsync,版本rsync-3.0.9-19.e17.x86_64。
創建配置文件:
touch /etc/rsyncd.conf #創建rsyncd.conf,這是rsync服務器的配置文件。
(以下暫時用不上)
************************************************************************************
touch /etc/rsyncd.secrets #創建rsyncd.secrets ,用戶密碼文件。 chmod 600 /etc/rsyncd.secrets #將rsyncd.secrets這個密碼文件的文件屬性設爲root擁有, 且權限要設爲600, 否則無法備份成功! touch /etc/rsyncd.motd #提供信息文件
密碼文件/etc/rsyncd.secrets:
vim /etc/rsyncd.secrets user:psw #用戶名:密碼
設定rsyncd服務器的信息提示,用戶登錄的時候,會看到服務器的提示信息。
# vim /etc/rsyncd.motd +++++++++++++++++++ Welcome to *****!!! +++++++++++++++++++
************************************************************************************
conf文件:
#運行RSYNC守護進程的用戶 uid = root #運行RSYNC守護進程的組 gid = root #不使用chroot use chroot = no #最大連接數不限制 max connections = 0 #pid文件存放位置 pid file = /var/run/rsyncd.pid #鎖文件存放位置 lock file = /var/run/rsync.lock #日誌文件存放位置 log file = /var/log/rsyncd.log [logs] #要同步的目錄 path = /usr/local/myfiles #忽略無關的IO錯誤 ignore errors #只讀,不能上傳 read only = true #禁止查看文件列表 list = false #允許訪問服務的ip #hosts allow = 202.200.*.* #禁止訪問服務的ip #hosts deny = 0.0.0.0/32 #認證的用戶名,系統必須存在的用戶,但是密碼需要在secrets file 配置,不是系統的密碼。 auth users = root #認證用戶密碼文件,配置auth users的密碼 secrets file = /etc/rsyncd.secrets
查看rsync有無啓動:
netstat -ntpl
或直接查看端口號
netstat -anp|grep 873
以服務器模式啓動rsync –dameon參數
/usr/local/rsync/bin/rsync --daemon —config=/etc/rsyncd.conf #--config用於指定rsyncd.conf的位置,如果在/etc/目錄就不用指定,默認爲/etc目錄下錄找此文件。
添加rsync到系統自啓動
systemctl enable rsyncd
服務端:192.168.128.131,客戶端:192.168.128.132
同步方法:
rsync -av -e -ssh --delete /usr/local/myfiles/ 192.168.128.132:/usr/local/myfiles
同步本地myfiles文件到客戶端相同目錄
--delete:保持刪除文件同步
此時會提示用戶登錄密碼
無密碼同步方法:
1. 使用ssh-keygen生成密匙
使用ssh-keygen在本地生成公鑰和私鑰。
$ ssh-keygen Enter passphrase (empty for no passphrase): Enter same passphrase again:
提示:當提示輸入密碼時,只需輸入兩次回車鍵,不指配密碼字符。
2. 使用ssh-copy-id將公匙拷貝至遠程主機
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.128.132
提示:執行以上操作時,將會提示輸入遠程主機帳戶和密碼,然後就會自動將公匙拷貝至遠程目錄。
3. 重新來執行rsync,現在應該就不會提示輸入密碼了
rsync -av -e -ssh --delete /usr/local/myfiles/ 192.168.128.132:/usr/local/myfiles
最後,加入定時計劃備份。
crontab -e
*/3 * * * * /usr/bin/rsync -av -e -ssh --delete /usr/local/myfiles/ 192.168.128.132:/usr/local/myfiles