daemon方式就是先搭建一個伺服器,這個伺服器上面跑一個rsync服務,服務就稱為daemon(daemon就是實時運作的程式),rsync監聽端口是873,然後在用戶端上面使用rsync指令,實作和伺服器之間推拉動作。(推拉都是在用戶端執行rsync指令)
本文中rsync服務端有兩個網卡:網卡1連接配接外網,ip位址和掩碼為10.0.0.41/24;網卡2連接配接内網,ip位址和掩碼為172.16.1.41/24
1. 統一版本:
[root@backup ~]# uname -m
x86_64
[root@backup ~]# uname -r
2.6.32-642.el6.x86_64
[root@backup ~]# rsync --version
rsync version 3.0.6 protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, symtimes
rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.
檢視rsync程式是否存在
[root@backup ~]# rpm -qa rsync
rsync-3.0.6-12.el6.x86_64
如果沒有 rsync就用yum install rsync -y 安裝。
2.rsync伺服器搭建在備份伺服器上面,然後在所有伺服器上面通過指令就是推拉了。
[root@backup ~]# ll /etc/rsyncd.conf
ls: cannot access /etc/rsyncd.conf: No such file or directory
配置檔案rsyncd.conf預設是不存在的
[root@backup ~]# vim /etc/rsyncd.conf
中插入如下資訊:
#rsync_config__________start
##rsyncd.conf start##
uid=rsync
gid=rsync
use chroot=no
max connections=200
timeout=300
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsync.lock
log file=/var/log/rsyncd.log
[backup]
path=/backup
ignore errors
read only=false
list=false
hosts allow=172.16.1.0/24
#hosts deny=0.0.0.0/32
auth users=rsync_backup
secrets file=/etc/rsync.password
#rsync_config________end
/etc/rsyncd.conf配置資訊解釋
uid=rsync #虛拟使用者,檔案和程序都要滿足屬組要求,程序對應的使用者(遠端的指令使用rsync通路共享目錄)
gid=rsync #程序對應的使用者組
use chroot=no ##安全相關
max connections=200 #最大連接配接數
timeout=300 #逾時參數
pid file=/var/run/rsyncd.pid #程序對應的程序号檔案
lock file=/var/run/rsync.lock #鎖檔案,防止檔案不一緻
log file=/var/log/rsyncd.log #日志檔案 出錯
[backup] #子產品名稱
path=/backup #伺服器提供通路的目錄
ignore errors #忽略錯誤
read only=false #可寫
list=false #不能清單
hosts allow=172.16.1.0/24 ##允許那些機器過來連接配接
#hosts deny=0.0.0.0/32 ##拒絕哪些機器過來連接配接(0.0.0.0/32表示誰都可以過來,此處hosts deny前面要用#注釋,如果不用#注釋,任何ip都可以過來)
auth users=rsync_backup #虛拟使用者,獨立于系統賬号之外的虛拟使用者
secrets file=/etc/rsync.password #虛拟賬号對應的使用者和密碼
檢查是否存在賬号rsync,如果不存在就建立。 -s代表 不需要登入,-M代表不需要家目錄
[root@backup ~]# id rsync
id: rsync: No such user
[root@backup ~]# useradd rsync -s /sbin/nologin -M
用tail -l檢視剛剛建好的賬号
[root@backup ~]# tail -1 /etc/passwd
rsync:x:501:501::/home/rsync:/sbin/nologin
啟動服務:
[root@backup ~]# rsync --daemon
檢視服務是否啟動:
[root@backup ~]# ps -ef|grep rsync|grep -v grep
root 1344 1 0 23:54 ? 00:00:00 rsync --daemon
建立backup目錄
[root@backup ~]# mkdir /backup
使用者連接配接過來無法通路backup,需要修改/backup屬組為rsync虛拟使用者
[root@backup ~]# chown rsync.rsync /backup
[root@backup ~]# ls -ld /backup/
drwxr-xr-x 2 rsync rsync 4096 Aug 2 23:57 /backup/
vim rsync.password輸入内容rsync_backup:oldboy 其中rsync_backup為使用者名,oldboy為密碼
[root@backup ~]# vim /etc/rsync.password
[root@backup ~]# cat /etc/rsync.password
rsync_backup:oldboy
因為/etc/rsync.password有使用者和密碼,是以不夠安全。是以需要修改rsync.password的其他組的權限。
[root@backup ~]# ll /etc/rsync.password
-rw-r--r-- 1 root root 20 Aug 3 00:07 /etc/rsync.password
[root@backup ~]# chmod 600 /etc/rsync.password
[root@backup ~]# ll /etc/rsync.password
-rw------- 1 root root 20 Aug 3 00:07 /etc/rsync.password
伺服器端配置完成了
已知端口檢視服務:
[root@backup ~]# lsof -i :873
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 1344 root 4u IPv4 11151 0t0 TCP *:rsync (LISTEN)
rsync 1344 root 5u IPv6 11152 0t0 TCP *:rsync (LISTEN)
[root@backup ~]# netstat -lntup|grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 1344/rsync
tcp 0 0 :::873 :::* LISTEN 1344/rsync
加入開機自啟動:
[root@backup ~]# echo "/usr/bin/rsync --daemon" >>/etc/rc.local
[root@backup ~]# tail -1 /etc/rc.local
/usr/bin/rsync --daemon
總結rsync伺服器配置過程:
1.檢視rsync安裝包
rpm -qa rsync
2.添加rsync服務的使用者,管理本地目錄的
useradd -s /sbin/nologin -M rsync
id rsync
3.生成rsyncd.conf配置檔案
vi /etc/rsyncd.conf 放入事先準備的配置。man rsync.con去查相關參數。
4.根據rsyncd.conf的auth users配置賬戶,遠端連接配接的,并根據secrets file參數生成密碼檔案
echo "rsync_backup:oldboy">/etc/rsync.password
cat /etc/rsync.password
5.為密碼檔案配置全新
chmod 600 /etc/rsync.password
ls -l /etc/rsync.password
6.建立共享的目錄,并授權rsync服務管理
mkdir /backup -p
chown -R rsync.rsync /backup
如果沒有/backup目錄,就會chdir failed
7.啟動rsync服務并檢查
rsync --daemon
ps -ef|grep rsync|grep -v grep
lsof -i :873
8.加入開機自啟動
echo "/usr/bin/rsync --daemon" >>/etc/rc.local
tail -1 /etc/rc.local
(over)
排錯:
1.輸出
2.日志tail /var/log/rsync.log
本文轉自sandshell部落格51CTO部落格,原文連結http://blog.51cto.com/sandshell/1952198如需轉載請自行聯系原作者
sandshell