Liunx系統實現文件同步不需要搭建FTP這類的工具,只需要按照Rsync配置下文件就可以。
本文以Centos7.0為例。
1. 首先關閉SELINUX(不關閉無法同步,權限太高了)
vi /etc/selinux/config #編輯防火牆配置文件 #SELINUX=enforcing #注釋掉 #SELINUXTYPE=targeted #注釋掉 SELINUX=disabled #增加 :wq! #保存,退出 setenforce 0 #立即生效
2. 服務端和客戶端同時安裝Rsync
yum install rsync xinetd #安裝
3. 客戶端和服務端同時新增配置文件(centos7 默認沒有了,得單獨手工建,否則無法啟動)
vim /etc/xinetd.d/rsync
service rsync { disable = no flags = IPv6 socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }
4 修改服務端配置給客戶端調用
vim /etc/rsyncd.conf
log file = /var/log/rsyncd.log #日志文件位置,啟動rsync后自動產生這個文件,無需提前創建 pidfile = /var/run/rsyncd.pid #pid文件的存放位置 lock file = /var/run/rsync.lock #支持max connections參數的鎖文件 secrets file = /etc/rsync.pass #用戶認證配置文件,里面保存用戶名稱和密碼,后面會創建這個文件 motd file = /etc/rsyncd.Motd #rsync啟動時歡迎信息頁面文件位置(文件內容自定義) [test] #自定義名稱 path = /data/ #rsync服務端數據目錄路徑 comment =rsync data comment #對那個文件夾進行描述 uid = root #設置rsync運行權限為root 推薦使用 nobody gid = root #設置rsync運行權限為root 推薦使用 nobody port=873 #默認端口 use chroot = no #默認為true,修改為no,增加對目錄文件軟連接的備份 read only = no #設置rsync服務端文件為讀寫權限 list = no #不顯示rsync服務端資源列表 max connections = 200 #最大連接數 timeout = 600 #設置超時時間 auth users = test #執行數據同步的用戶名,可以設置多個,用英文狀態下逗號隔開 hosts allow = 192.168.21.129 #允許進行數據同步的客戶端IP地址,可以設置多個,用英文狀態下逗號隔開 hosts deny = 192.168.21.254 #禁止數據同步的客戶端IP地址,可以設置多個,用英文狀態下逗號隔開
5 新增同步用戶的配置文件保存密碼
vim /etc/rsync.pass
test:123456
6. 對配置文件進行授權
chmod 600 /etc/rsyncd.conf #設置文件所有者讀取、寫入權限 chmod 600 /etc/rsync.pass #設置文件所有者讀取、寫入權限
7. 重啟Rsync 是用軟件生效
systemctl restart xinetd
8. 客戶端開始同步
首先telnet端口: telnet 172.16.120.18 83 服務端同步文件到客戶端: rsync -avz test@172.16.120.252::ftp /data 客戶端同步文件到服務端 rsync -av /data/ test@172.16.120.252:ftp
其中/data/ 若后面不加"/" 那/data 就是表示本身同步過去,切記!