rsyncd服務(wù)及搭建備份服務(wù)器
1、備份服務(wù)器backup操作
##1)安裝 [root@backup ~]# rsync --version? ? ? ? ? ? ? ? ? ? <=======查看版本rsync? version3.1.2protocol version31[root@backup ~]# yum install rsync? ? ? ? ? ? ? ? ? <=======安裝
2)配置配置文件/etc/rsyncd.conf
[root@backup ~]# cp /etc/rsyncd.conf{,.ori}? ? ? <=======備份文件[root@backup ~]#cat>/etc/rsyncd.conf<<EOF? <=======設(shè)置配置文件#rsync_config_______________start#created by oldboy#site: http://www.oldboyedu.comuid = rsync? ? ? ? ? ? ? <========================管理備份目錄的用戶(hù)? gid = rsync? ? ? ? ? ? ? ? <========================管理備份目錄的用戶(hù)組? use chroot = no? ? ? ? <==================安全功能,數(shù)據(jù)是否鎖定到備份目錄? max connections =200<==============并發(fā)鏈接,同時(shí)多少客戶(hù)端訪問(wèn)? timeout =600<==============超時(shí)時(shí)間? pid file = /var/run/rsyncd.pid? ? ? <==========進(jìn)程號(hào)所在文件? lock file = /var/run/rsync.lock? ? <==========鎖文件logfile = /var/log/rsyncd.log<==========日志文件,查看報(bào)錯(cuò)等? ignore errors? ? ? ? ? ? ? ? ? ? ? <==============忽略錯(cuò)誤? read only =false<==============可寫(xiě)list=false<==============不允許列表? hosts allow =172.16.1.0/24<=========哪些主機(jī)可以訪問(wèn)? ? ? ? ? 和下面2選一? hosts deny =0.0.0.0/32<=========哪些主機(jī)不允許訪問(wèn)? auth users = rsync_backup? ? ? ? ? ? <=========遠(yuǎn)程虛擬鏈接用戶(hù)? secrets file = /etc/rsync.password? ? ? <=======存放密碼的文件:格式:用戶(hù)名:密碼 權(quán)限 必須600[backup]? ? ? ? ? ? ? ? ? ? ? ? ? ? <==============模塊名 遠(yuǎn)程訪問(wèn)使用模塊名訪問(wèn) comment = welcome to oldboyedu backup!? <==說(shuō)明注釋 path = /backup/? ? ? ? ? ? ? ? <==============服務(wù)端用戶(hù)備份的目錄,用戶(hù)和組。rsync.rsync fake? super? = yes? ? ? ? ? ? ? <==============不用root用戶(hù)也可以存儲(chǔ)文件的完整屬性。 EOF
man rsync 查命令的參數(shù)
man rsyncd.conf 查配置參數(shù)
https://www.samba.org/ftp/rsync/rsync.html
3)創(chuàng)建用戶(hù)和備份目錄
[root@backup ~]# useradd rsync? ? ? ? ? <===========創(chuàng)建rsync用戶(hù)[root@backup ~]# id rsync? ? ? ? ? ? ? ? ? ? <===========查看rsync用戶(hù)uid=1001(rsync) gid=1001(rsync) 組=1001(rsync) [root@backup ~]# mkdir -p /backup? ? <===========創(chuàng)建目錄/backup[root@backup ~]# chown -R rsync.rsync /backup/? <====修改/backup目錄所屬用戶(hù) 用戶(hù)組[root@backup ~]# ls -ld /backup/? ? ? ? ? <===========查看/backup目錄屬性信息drwxr-xr-x2rsync rsync64月1512:12/backup/
4)啟動(dòng)和檢查rsyncd服務(wù)和服務(wù)狀態(tài)
rsync --daemon(c6及以前) systemctl start rsyncd systemctlenablersyncd systemctl status rsyncd
檢查進(jìn)程
[root@backup ~]# ps -ef|grep sync|grep -v grep? ? #檢查進(jìn)程root75211011:39?00:00:00/usr/bin/rsync --daemon --no-detach
檢查端口
[root@backup ~]# netstat -lntup|grep 873? ? ? ? ? ? ? #檢查端口tcp000.0.0.0:8730.0.0.0:*LISTEN7521/rsync? ? ? ? ? tcp600:::873:::*LISTEN7521/rsync
[root@backup ~]# lsof -i :873 #檢查端口
COMMAND? PID USER? FD? TYPE DEVICE SIZE/OFF NODE NAME
rsync? 7521 root? ? 3u? IPv4? 41439? ? ? 0t0? TCP *:rsync (LISTEN)
rsync? 7521 root? ? 5u? IPv6? 41440? ? ? 0t0? TCP *:rsync (LISTEN)
5)配置密碼文件
[root@backup ~]# echo "rsync_backup:oldboy" > /etc/rsync.password? ? <===創(chuàng)建用戶(hù)信息和密碼文件[root@backup ~]# chmod 600 /etc/rsync.password? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <===修改文件屬性 必須為600[root@backup ~]# cat /etc/rsync.password? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <===查看用戶(hù)信息和密碼文件rsync_backup:oldboy[root@backup ~]# ls -l /etc/rsync.password? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <===查看文件權(quán)限信息-rw-------1root root204月1511:51/etc/rsync.password
rsync服務(wù)端配置完成。
2、客戶(hù)端服務(wù)器操作web01或nfs01
最好使用第二種
方法1:認(rèn)證密碼文件
[root@nfs01 ~]# echo "oldboy" > /etc/rsync.password? ? <===設(shè)置密碼文件[root@nfs01 ~]# chmod 600 /etc/rsync.password? ? ? ? ? ? <===修改文件屬性 必須為600[root@nfs01 ~]# cat /etc/rsync.password? ? ? ? ? ? ? ? ? ? ? ? ? <===查看用戶(hù)密碼文件oldboy? ? [root@nfs01 ~]# ls -l /etc/rsync.password? ? ? ? ? ? ? ? ? ? ? ? ? <===查看文件權(quán)限信息-rw-------1root root74月1511:55/etc/rsync.password
方法2:
[root@nfs01 ~]# echo ' export RSYNC_PASSWORD=oldboy' >>/etc/bashrc? <===設(shè)置全局變量[root@nfs01 ~]# tail -1 /etc/bashrc? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <===查看變量信息export RSYNC_PASSWORD=oldboy? ? [root@nfs01 ~]# . /etc/bashrc? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <=== 使變量生效[root@nfs01 ~]# echo $RSYNC_PASSWORD? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <===輸出變量 檢查oldboy
rsync客戶(hù)端 nfs01 配置完成
3、守護(hù)進(jìn)程模式,客戶(hù)端rsync的命令語(yǔ)法:
配置服務(wù)器端守護(hù)進(jìn)程,實(shí)現(xiàn)數(shù)據(jù)傳輸:
1)服務(wù)器端守護(hù)進(jìn)程。2、客戶(hù)端執(zhí)行命令。
##? 1)pull,拉:從遠(yuǎn)端拉取到本地。語(yǔ)法1(常用):rsync[OPTION...][USER@]HOST::SRC...[DEST]
rsync命令? 參數(shù)選項(xiàng)? ? ? ? [虛擬用戶(hù)]@[主機(jī)地址]::[模塊名]? ? ? ? 本地路徑
語(yǔ)法2:
rsync? ? ? ? ? ? ? [OPTION...]? ? ? ? ? rsync://[USER@]HOST::SRC...? ? ? ? ? ? ? ? ? ? ? ? ? [DEST]
rsync命令? ? ? ? ? ? 參數(shù)選項(xiàng)? ? ? rsync://[虛擬用戶(hù)]@[主機(jī)地址]/[模塊名]? ? ? ? ? ? ? ? ? ? 本地路徑
2)push,推:從本地推到遠(yuǎn)端。
語(yǔ)法1(常用):? ? ? ? ? ? ? ?
rsync? ? ? ? ? ? ? [OPTION...]? ? ? ? [DEST]? ? ? ? [USER@]HOST::SRC...
rsync命令? 參數(shù)選項(xiàng)? ? ? ? 本地路徑? ? ? [虛擬用戶(hù)]@[主機(jī)地址]::[模塊名]
語(yǔ)法2:
rsync? ? ? ? ? ? ? [OPTION...]? ? ? ? [DEST]? ? ? ? ? rsync://[USER@]HOST::SRC...
rsync命令? 參數(shù)選項(xiàng)? ? ? ? 本地路徑? rsync://[虛擬用戶(hù)]@[主機(jī)地址]/[模塊名]
4、測(cè)試成果? 成功案例
客戶(hù)端操作:把/etc/hosts推送到服務(wù)端/backup/[root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.passwordsending incremental file list? hosts sent89bytes? received49bytes276.00bytes/sec total sizeis332speedupis2.41
客戶(hù)端操作:把/etc/推送到服務(wù)端/backup/
rsync -avz /etc rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
服務(wù)端檢查:
[root@backup ~]# ls /backup/
hosts
[root@backup ~]# ls /backup/
etc? hosts
5、注意:
如果客戶(hù)端按照環(huán)境變量的方式配置,則可以忽略--password-file=/etc/rsync.password參數(shù)。? [root@nfs01 ~]# rsync -avz /etc rsync_backup@172.16.1.41::backupsending incremental file list? sent52,071bytes? received644bytes105,430.00bytes/sec? total sizeis31,244,350speedupis592.70
6、測(cè)試增量 客戶(hù)端操作
[root@nfs01 ~]# touch /etc/oldboy.txt[root@nfs01 ~]# rsync -avz /etc rsync_backup@172.16.1.41::backupsending incremental file list? etc/oldboy.txtsent52,098bytes? received655bytes105,506.00bytes/sectotal sizeis31,244,350speedupis592.28
7、可能遇見(jiàn)的錯(cuò)誤
##錯(cuò)誤1:
[root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
@ERROR: invalid uid rsync
rsync error: error starting client-server protocol (code 5) at main.c(1648) [sender=3.1.2]
沒(méi)有創(chuàng)建用戶(hù)和目錄 并修改用戶(hù) 用戶(hù)組
解答:
[root@backup ~]# useradd rsync
[root@backup ~]# id rsync
uid=1001(rsync) gid=1001(rsync) 組=1001(rsync)
[root@backup ~]# mkdir -p /backup
[root@backup ~]# chown -R rsync.rsync /backup/
[root@backup ~]# ls -ld /backup/
drwxr-xr-x 2 rsync rsync 6 4月? 15 12:12 /backup/
錯(cuò)誤2:
[root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.passwordsending incremental file list hosts rsync: chgrp".hosts.YDuTjO"(inbackup) failed: Operationnotpermitted (1) sent223bytes? received124bytes694.00bytes/sec total sizeis332speedupis0.96
沒(méi)有添加 fake super = yes 到/etc/syncd.conf里
解答:增加如下參數(shù)到/etc/rsyncd.conf
fake? super? = yes #不用root用戶(hù)也可以存儲(chǔ)文件的完整屬性。
This allows the full attributes of a file to? be? stored? without having to have the daemon actually running as root.
[root@backup ~]# grep fake /etc/rsyncd.conf
fake super = yes
改完配置,要重啟服務(wù):
[root@backup ~]# systemctl restart rsyncd
作者:余仔丶
鏈接:http://www.itdecent.cn/p/068563dd9443
來(lái)源:簡(jiǎn)書(shū)
簡(jiǎn)書(shū)著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。