站長資訊網
        最全最豐富的資訊網站

        通過rsync實現遠程同步

        正確、有效的備份方案是保障系統及數據安全的重要手段,在服務器中,通常會結合計劃任務、Shell腳本來執行本地備份,為了進一步提高備份的可靠性,使用異地備份也是非常有必要的。

        比如針對web站點的同步備份,如果想要實現快速、安全、高效的異地備份,就需要使用到——rsync。

        rsync簡介

        rsync(Remote Sync,遠程同步)是一個開源的快速備份工具,可以在不同主機之間鏡像同步整個目錄樹,支持增量備份,保持鏈接和權限,且采用優化的同步算法,傳輸前執行壓縮,因此非常適用于異地備份、鏡像服務器等應用。

        rsync的官方站點:http://rsync.samba.org/ ,目前最新版本是3.1.3,由Wayne Davison.進行維護,作為一種最常用的文件備份工具,rsync往往是Linux和UNIX系統默認安裝的基本組件之一。

        rsync是一款快速增量備份工具,支持:  (1)本地復制;  (2)與其他SSH同步;  (3)與rsync主機同步。

        在遠程同步任務中,負責發起rsync同步操作的客戶機稱為發起端,而負責相應來自客戶機的rsync同步操作的服務器稱為同步源。在同步過程中,同步源負責提供文檔的原始位置,發起端應對該位置有讀取權限。如圖:
        通過rsync實現遠程同步

        配置rsync源

        配置rsync源服務器大致分為三步:  (1)建立rsync配置文件;  (2)為備份賬戶創建數據文件;  (3)啟動rsync服務。

        (1)建立rsync配置文件

        在CentOS 7系統之前/etc/rsyncd.conf文件默認不存在,CentOS 7開始已經有這樣的文件,并且其中放置了模板參考信息(根據實際情況編寫需要的內容,注意格式)。

        [root@localhost ~]# vim /etc/rsyncd.conf   uid = nobody                                                                //啟用匿名用戶  gid = nobody                                                                 use chroot = yes                                                          //禁錮在源目錄  address = 192.168.1.1                                                //監聽地址  port 873                                                                      //監聽端口  log file = /var/log/rsyncd.log                                       //日志文件存放位置  pid file = /var/run/rsyncd.pid                                      //存放進程ID的文件位置  hosts allow = 192.168.1.0/24                                    //允許訪問的客戶機地址  [wwwroot]                                                                  //共享模塊名稱          path = /var/www/html                                        //源目錄的實際路徑          comment = aaa                                                 //描述(可以省略)          read only = no                                                   //是否為只讀          dont compress = *.gz *.bz2 *.rar *.zip               //同步時不再壓縮的文件類型          auth users = backuper                                      //授權賬戶          secrets file = /etc/rsyncd_users.db                   //存放賬戶信息的數據文件

        基于安全性考慮,對于rsync的同步源最好僅允許以只讀方式做同步。另外,同步可以采用匿名的方式,只要將其中的“auth users”和“secrets file”配置項去除即可!

        (2)為備份賬號創建數據文件

        根據rsync的配置文件內容,創建賬號數據文件。每行一個用戶,用戶和密碼之間用冒號進行分隔。

        [root@localhost ~]# vim /etc/rsyncd_users.db  backuper:123456

        由于賬號信息采用明文存放,因此需要調整文件權限,避免賬號信息泄露。

        [root@localhost ~]# chmod 600 /etc/rsyncd_users.db

        備份用戶應對源目錄具有讀取權限。

        [root@localhost ~]# ls -ld /var/www/html  drwxr-xr-x. 2 root root 6 11月 15 2016 /var/www/html

        (3)啟動rsync服務

        [root@localhost ~]# rsync --daemon  [root@localhost ~]# netstat -anpt | grep rsync  tcp        0      0 192.168.1.1:873         0.0.0.0:*               LISTEN      44001/rsync

        如果需要重啟rsync服務,需要:

        [root@localhost ~]# kill  $(cat /var/run/rsyncd.pid)  //停止服務  [root@localhost ~]# rsync --daemon  //啟動服務
        [root@localhost ~]# kill -9 $(cat /var/run/rsyncd.pid)

        或者直接使用“netstat -anpt | grep rsync”命令查出進程號,使用“kill 進程號”一樣。
        使用第一種方法停止rsync服務必須刪除存放rsync服務進程的文件:

        [root@localhost ~]# rm -rf /var/run/rsyncd.pid

        使用rsync備份工具

        配置好rsync同步源服務器之后,客戶端就可以使用rsync工具來執行遠程同步了。

        rsync命令的選項:  -r:遞歸模式,包含目錄及子目錄中所有文件  -l:對于符號鏈接文件仍然復制為符號鏈接文件  -p:保留文件的權限標記  -t:保留文件的時間標記  -g:保留文件的屬組標記(僅超級用戶使用)  -o:保留文件的屬主標記(僅超級用戶使用)  -D:保留設備文件及其他特殊文件  -a:歸檔模式,遞歸并保留對象屬性,等同于 -rlptgoD  -v:顯示同步過程的詳細(verbose)信息  -z:在傳輸文件時進行壓縮(compress)  -H:保留硬連接文件  -A:保留ACL屬性信息  --delete:刪除目標位置有而原始位置沒有的文件  --checksum:根據對象的校驗和來決定是否跳過文件

        rsync是一款快速增量備份工具,支持:
        (1)本地復制;
        (2)與其他SSH同步;
        (3)與rsync主機同步。

        (1)本地復制
        [root@localhost ~]# rsync /etc/passwd 123.txt  //類似于cp命令
        (2)與其他SSH同步
        [root@localhost ~]# rsync -av root@192.168.1.2:/root/123.txt .  root@192.168.1.2's password: 
        (3)與rsync主機同步
        [root@localhost ~]# rsync -avz backuper@192.168.1.1::wwwroot /root  或者  [root@localhost ~]# rsync -avz rsync://backuper@192.168.1.1/wwwroot /root

        這兩種命令效果是一樣!
        上傳只需將目錄調換順序即可(確保對上傳的目錄具有寫入權限)
        在同步源端輸入以下命令,方可執行寫入權限

        [root@localhost ~]#chmod 777  /var/www/html  [root@localhost ~]# rsync -avz /root backuper@192.168.1.1::wwwroot 

        但是在現實工作環境中,備份工作通常是按計劃重復執行的,比如:

        [root@localhost ~]# vim /root/123.pass  123456  //任意創建一個文件用于存放rsync授權用戶的密碼信息  [root@localhost ~]# chmod 600 /root/123.pass  //必須設定600權限,否則執行時將會報錯  [root@localhost ~]# crontab -e  //創建計劃任務  30 22 * * * /usr/bin/rsync -az --delete --password-file=/root/123.pass backuper@192.168.1.1::wwwroot /a  //每天晚上22:30執行腳本  [root@localhost ~]# systemctl restart crond  //重新啟動crond服務

        關于crond計劃任務配置文件的格式(從上到下):
        通過rsync實現遠程同步

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 99精品视频在线观看| 桃花岛精品亚洲国产成人| 国产精品欧美亚洲韩国日本不卡| 久久久久一级精品亚洲国产成人综合AV区 | 国产这里有精品| 国产成人精品天堂| 日韩精品区一区二区三VR| 免费精品视频在线| 97久久精品人人澡人人爽| 国产成人亚洲合集青青草原精品 | 人妻熟妇乱又伦精品视频| 久久久精品久久久久特色影视| 亚洲精品国产成人专区| 国产精品99久久免费观看| 亚洲AV无码国产精品色午友在线| 亚洲精品国产日韩无码AV永久免费网 | 精品黑人一区二区三区| 亚洲色精品vr一区二区三区| 日韩人妻无码精品无码中文字幕| 精品久久国产一区二区三区香蕉| 国产亚洲精品成人a v小说| 国产精品成人h片在线| 亚洲国产精品lv| 6080亚洲精品午夜福利| 97精品国产自在现线免费观看| 91久久精品国产91性色也| 97久人人做人人妻人人玩精品| 色综合久久综精品| 中文字幕亚洲综合精品一区 | 青青草国产精品久久久久| 久久777国产线看观看精品| 久久久国产精品福利免费 | 精品久久久久久综合日本| 精品三级在线观看| 中文字幕精品视频| 国产精品美女WWW爽爽爽视频| 99久久99久久精品国产片| 国产精品乱伦| 久久丝袜精品中文字幕| 手机日韩精品视频在线看网站| 欧美精品亚洲精品日韩专区|