d本地模式,cp的感受 shell
vzrtopg = a - d -lbash
--delete適用於2個目錄徹底同樣的狀況服務器
默認avz就能夠了app
2,遠端的shellssh
解決ssh連接慢的問題ui
3.daemon方式spa
yum install rsync3d
/etc/rsyncd.conf日誌
2code
客戶端
推子目錄
本地模式 1,yum install rsync rsync -avzP /mnt/ /data/ 相似cp ssh信道模式 1,客戶端,服務端 yum install rsync rsync -avzP -e "ssh -p 22" root@ip:/mnt/ /data/ 相似scp deamon守護進程模式 1,服務端 yum install rsync 2,cat /etc/rsyncd.conf uid = rsync gid = rsync use chroot = no max connections = 2000 pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock log file = /var/log/rsyncd.log timeout = 900 # ignore errors read only = false # list = false # 是否容許客戶端查看模塊列表(不經常使用) # hosts allow = ip 容許訪問的地址,默認沒有此參數,均可以連接 # hosts deny = 0.0.0.0/32 拒絕的網段,默認狀況沒有此參數,均可以連接,與上面二選一 auth users = rsync_backup secrets file = /etc/rsyncd.password exclude = *.txt 1111 # 過濾到.txt文件 [backup1] path = /backup1 [backup2] path = /backup2 3,cat /etc/rsyncd.password 600權限 rsync_backup:woshimima 4,建立目錄,注意是rsync的屬主和屬組,記得建立rsync帳號 useradd rsync -s /sbin/nologin -M chown -R rsync.rsync /backup 5,rsync --daemon --config=/etc/rsyncd.conf
systemctl stop/start/status/enable/disable rsyncd.service 1,客戶端 yum install rsync 2,推送的目錄屬主屬組也要是rsync,而且要有rsync的帳號 3,cat /etc/rsyncd.password 600權限 woshimima 4,rsync -avzP /data/ rsync_backup(auth_users)@ip::backup(模塊)/ --password-file=/etc/rsyncd.password
5,若是是/data/就是把/data/目錄下的全部文件同步,若是是/data就會把/data目錄傳送過去
附贈配置文件說明
######### 全局配置參數 ########## port=888 # 指定rsync端口。默認873 uid = rsync # rsync服務的運行用戶,默認是nobody,文件傳輸成功後屬主將是這個uid gid = rsync # rsync服務的運行組,默認是nobody,文件傳輸成功後屬組將是這個gid use chroot = no # rsync daemon在傳輸前是否切換到指定的path目錄下,並將其監禁在內 max connections = 200 # 指定最大鏈接數量,0表示沒有限制 timeout = 300 # 確保rsync服務器不會永遠等待一個崩潰的客戶端,0表示永遠等待 motd file = /var/rsyncd/rsync.motd # 客戶端鏈接過來顯示的消息 pid file = /var/run/rsyncd.pid # 指定rsync daemon的pid文件 lock file = /var/run/rsync.lock # 指定鎖文件 log file = /var/log/rsyncd.log # 指定rsync的日誌文件,而不把日誌發送給syslog dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 # 指定哪些文件不用進行壓縮傳輸 ###########下面指定模塊,並設定模塊配置參數,能夠建立多個模塊########### [longshuai] # 模塊ID path = /longshuai/ # 指定該模塊的路徑,該參數必須指定。啓動rsync服務前該目錄必須存在。rsync請求訪問模塊本質就是訪問該路徑。 ignore errors # 忽略某些IO錯誤信息 read only = false # 指定該模塊是否可讀寫,即可否上傳文件,false表示可讀寫,true表示可讀不可寫。全部模塊默認不可上傳 write only = false # 指定該模式是否支持下載,設置爲true表示客戶端不能下載。全部模塊默承認下載 list = false # 客戶端請求顯示模塊列表時,該模塊是否顯示出來,設置爲false則該模塊爲隱藏模塊。默認true hosts allow = 10.0.0.0/24 # 指定容許鏈接到該模塊的機器,多個ip用空格隔開或者設置區間 hosts deny = 0.0.0.0/32 # 指定不容許鏈接到該模塊的機器 auth users = rsync_backup # 指定鏈接到該模塊的用戶列表,只有列表裏的用戶才能鏈接到模塊,用戶名和對應密碼保存在secrts file中, # 這裏使用的不是系統用戶,而是虛擬用戶。不設置時,默認全部用戶都能鏈接,但使用的是匿名鏈接 secrets file = /etc/rsyncd.passwd # 保存auth users用戶列表的用戶名和密碼,每行包含一個username:passwd。因爲"strict modes" # 默認爲true,因此此文件要求非rsync daemon用戶不可讀寫。只有啓用了auth users該選項纔有效。 [xiaofang] # 如下定義的是第二個模塊 path=/xiaofang/ read only = false ignore errors comment = anyone can access
附贈rsync腳本,執行於備份服務器,daemon模式
#!/bin/bash # The author is joker, applied to file synchronization. # deamon守護進程模式 # 模塊,備份目錄,若是是多目錄,或者單目錄,請修改,在下面代碼中有建立該目錄過程,也請修改,注意上層目錄joker的修改 module1=gameserver1 path1=/joker/$module1 module2=gameserver2 path2=/joker/$module2 # 認證用戶密碼 author=rsync_backup password=woshimima # 進程檢索 rsync_process=`ps -ef|grep rsync|grep -v grep|wc -l` # 軟件安裝檢索 rsync_order=`which rsync 1>/dev/null 2>&1` if [ $? -eq 1 ];then # 1,安裝rsync——deamon守護進程模式 echo -e "\033[31m 紅色字,正在安裝rsync \033[0m" yum install rsync -y sleep 1 sh $0 else # 2,建立配置文件 cat >/etc/rsyncd.conf<<EOF # The author is joker, which is the configuration file for rsync. uid = rsync gid = rsync use chroot = no max connections = 2000 pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock log file = /var/log/rsyncd.log # motd file = /var/rsyncd/rsync.motd 端口連接過來信息 timeout = 100 ignore errors read only = false # list = false # 是否容許客戶端查看模塊列表(不經常使用) # hosts allow = ip 容許訪問的地址,默認沒有此參數,均可以連接 # hosts deny = 0.0.0.0/32 拒絕的網段,默認狀況沒有此參數,均可以連接,與上面二選一 auth users = $author secrets file = /etc/rsync.passwd # exclude = *.txt 1111 # 過濾到.txt文件 [$module1] path = $path1 [$module2] path = $path2 EOF # 3,密碼文件 cat >/etc/rsync.passwd<<EOF $author:$password EOF chmod 600 /etc/rsync.passwd # 4,建立目錄,注意是rsync的屬主和屬組,記得建立rsync帳號 useradd rsync -s /sbin/nologin -M mkdir $path1 $path2 -p chown -R rsync.rsync $path1 chown -R rsync.rsync $path2 # 5,用配置文件啓動進程 # $rsync_order --daemon --config=/etc/rsyncd.conf # 6, 系統啓動 systemctl start rsyncd.service sleep 1 if [ $rsync_process -ge 1 ];then echo -e "\033[32m rsync deamon 啓動成功 \033[0m" else echo -e "\033[31m rsync deamon 啓動失敗 ,請檢查緣由\033[0m" #systemctl stop/start/status/enable/disable rsyncd.service fi fi