CentOS6.5使用rsync遠程同步
需達成目標:在服務器(192.168.18.211)端搭建 rsync 服務,
將 /root/rsync-server/ 目錄同步到客戶端 /root/rsync-local 目錄
Linux系統:CentOS 6.5
一、由於CentOS6.5已經默認已經安裝了 rsync,如若沒有安裝,可以參考如下方法:
1、檢查是否安裝了 rsync :
rpm -qa rsync
2、如果沒有安裝可以使用yum安裝
yum install -y rsync
3、啟動 rsync :
/etc/init.d/xinetd start
或 service xinetd start
二、服務端(192.168.18.211)
1、建立 rsync 賬號密碼文件:
vim /root/rsync_user , 添加一行 賬號 : 密碼
root:123456
2、修改權限
chmod 600 rsync_user
3、創建 rsync 全局配置文件
vim /etc/rsyncd.conf (默認沒有此配置文件,手動添加該文件),內容如下:
uid = nobody // 傳輸文件時,執行的用戶
gid = nobody // 傳輸文件時,執行的用戶組
use chroot = yes // 在傳輸文件之前,服務器守護程序在將chroot 到文件系統中的目錄中
pid file = /var/run/rsyncd.pid // 告知進程寫到 /var/run/rsyncd.pid 文件中
log file = /var/log/rsyncd.log // 日誌路徑
[tools] // 模塊名,主要是定義服務器哪個目錄要被同步
path = /root/rsync-server // 指定文件目錄所在位置,這是必須指定的
comment = Rsync share test // 註釋可以自己定義
auth users = root // 認證用戶是 root,必須是服務器上真實存在的用戶
secrets file = /root/rsync_user // 密碼存在哪個文件
read only = yes // 是只讀選擇,也就是說,不讓客戶端上傳文件到服務器
4、修改 /etc/xinetd.d/rsync
vim /etc/xinetd.d/rsync
關於super daemon 配置文件更詳細的內容請參考 《鳥哥的linux私房菜基礎篇 559頁》
二、客戶端(192.168.19.25)
1、設置密碼文件:
vim /root/rsync_pass // 只需寫登錄用戶密碼,要與服務器端設置密碼一致
123456
2、修改權限
chmod 600 rsync_pass
3、創建接收服務器文件的目錄
mkdir rsync-local
4、在同步服務文件之前,可以先瀏覽一下服務中帶共享的文件,此處可以先查看一下共享的文件
rsync root@192.168.18.211::tools
5、手動同步共享目錄
rsync -az --password-file=/root/rsync_pass root@192.168.18.211::tools /root/rsync-local
6、使用cron例行性任務定時從服務器同步文件
crontab -e 0 5 * * * /usr/bin/rsync -a --password-file=/root/rsync_pass root@192.168.18.211::tools /root/rsync-local
本文經小作者 daicr 親身實踐,確實可行,同時感謝以下參考博文的博友們!
本文參考:https://www.linuxidc.com/Linux/2014-05/101084.htm
https://www.cnblogs.com/tomato0906/articles/7989222.html
http://www.jb51.net/article/31920.htm
CentOS6.5使用rsync遠程同步