rsync之腦殼疼

rsync圖片參考

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

客戶端

推子目錄

rsync 文字參考

本地模式
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
相關文章
相關標籤/搜索