綜合結(jié)構(gòu)rysnc
rsync參數(shù)
4.Rsync 命令對(duì)應(yīng)選項(xiàng)
‐a #歸檔模式傳輸, 等于‐tropgDl
‐v #詳細(xì)模式輸出, 打印速率, 文件數(shù)量等
‐z #傳輸時(shí)進(jìn)行壓縮以提高效率
‐r #遞歸傳輸目錄及子目錄,即目錄下得所有目錄都同樣傳輸。
‐t #保持文件時(shí)間信息
老男孩教育-Linux學(xué)院
‐o #保持文件屬主信息
‐p #保持文件權(quán)限
‐g #保持文件屬組信息
‐l #保留軟連接
‐P #顯示同步的過程及傳輸時(shí)的進(jìn)度等信息
‐D #保持設(shè)備文件信息
‐L #保留軟連接指向的目標(biāo)文件
‐e #使用的信道協(xié)議,指定替代rsh 的shell 程序
‐‐exclude=PATTERN #指定排除不需要傳輸?shù)奈募J?br> ‐‐exclude‐from=file #文件名所在的目錄文件
‐‐bwlimit=100 #限速傳輸
‐‐partial #斷點(diǎn)續(xù)傳
‐‐delete #讓目標(biāo)目錄和源目錄數(shù)據(jù)保持一致
第一個(gè)里程碑本地連接
本地拷貝數(shù)據(jù)命令
Local: rsync [OPTION...] SRC... [DEST]
本地拷貝數(shù)據(jù)示例
[root@backup ~]# rsync ‐avz /etc/passwd /tmp/
rsync #備份命令(cp)
[options] #選項(xiàng)
SRC... #本地源文件
[DEST] #本地目標(biāo)文件
第二個(gè)里程碑遠(yuǎn)程連接
pull 拉取數(shù)據(jù)命令
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
pull 拉取數(shù)據(jù)示例
[root@backup ~]# rsync ‐avz root@172.16.1.41:/etc/hostname ./ #拉取遠(yuǎn)程文件
[root@backup ~]# rsync ‐avz root@172.16.1.41:/root/ /backup/ #拉取遠(yuǎn)程目錄下的
所有文件
[root@backup ~]# rsync ‐avz root@172.16.1.41:/root /backup/ #拉取遠(yuǎn)程目錄以及目錄下的所有文件
Pull #拉取, 下載
rsync #備份命令
[options] #選項(xiàng)
[USER@] #目標(biāo)主機(jī)的系統(tǒng)用戶
HOST #目主機(jī)IP 地址或域名
SRC... #目標(biāo)主機(jī)源文件
[DEST] #下載至本地哪個(gè)位置
push 推送數(shù)據(jù)命令
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
push 推送數(shù)據(jù)示例
rsync ‐avz /backup/2018‐10‐01 root@172.16.1.41:/tmp/
Push #推送, 上傳
rsync #備份命令
[options] #選項(xiàng)
SRC... #本地源文件
[USER@] #目標(biāo)主機(jī)的系統(tǒng)用戶
HOST #目主機(jī)IP 地址或域名
[DEST] #目標(biāo)對(duì)應(yīng)位置
Rsync 借助SSH 協(xié)議同步數(shù)據(jù)存在的缺陷
1.使用系統(tǒng)用戶(不安全)
2.使用普通用戶(會(huì)導(dǎo)致權(quán)限不足情況)
第三個(gè)里程碑守護(hù)進(jìn)程
1.創(chuàng)建rsync虛擬用戶
useradd -s /sbin/nologin -M rsync
2.檢查rsunc用戶
[root@backup ~]# cat /etc/passwd |grep rsync
rsync:x:1001:1001::/home/rsync:/sbin/nologin
3.修改rsync配置文件
[root@backup ~]# vim /etc/rsyncd.conf
#Rsync server
##created by oldboy 15:01 2009-6-5
##rsyncd.conf start##
fake super = yes
uid = rsync
gid = rsync
use chroot = no
max connections = 2000
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
#hosts allow = 10.0.0.0/24
#hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
#####################################
[data]
comment = www by old0boy 14:18 2012-1-13
path = /data
#####################################
[backup]
comment = www by old0boy 14:18 2012-1-13
path = /backup
"/etc/rsyncd.conf" 27L, 621C
3.1配置文件詳解
uid = rsync # 運(yùn)行進(jìn)程的用戶
gid = rsync # 運(yùn)行進(jìn)程的用戶組
port = 873 # 監(jiān)聽端口
fake super = yes # 無需讓rsync 以root 身份運(yùn)行,允許接收文件的完整屬性
use chroot = no # 禁錮推送的數(shù)據(jù)至某個(gè)目錄, 不允許跳出該目錄
max connections = 200 # 最大連接數(shù)
timeout = 600 # 超時(shí)時(shí)間
ignore errors # 忽略錯(cuò)誤信息
read only = false # 對(duì)備份數(shù)據(jù)可讀寫
list = false # 不允許查看模塊信息
auth users = rsync_backup # 定義虛擬用戶,作為連接認(rèn)證用戶
secrets file = /etc/rsync.passwd # 定義rsync 服務(wù)用戶連接認(rèn)證密碼文件路徑
[backup] # 定義模塊信息
comment = commit # 模塊注釋信息
path = /backup # 定義接收備份數(shù)據(jù)目錄
4.創(chuàng)建rsync密碼文件,并授權(quán)600
echo rsync_backup:123456 >/etc/rsync.password
chmod 600 /etc/rsync.password
5.啟動(dòng)rsync服務(wù)
systemctl start rsyncd
5.1檢查服務(wù)是否啟動(dòng)
[root@backup ~]# ps -ef |grep rsync
root 936 1 0 May21 ? 00:00:00 /usr/bin/rsync --daemon --no-detach
root 5285 5096 0 04:22 pts/4 00:00:00 grep --color=auto rsync
5.2服務(wù)開機(jī)自啟
systemctl enable rsyncd
檢查
[root@backup ~]# systemctl is-enabled rsyncd
enabled
5.3服務(wù)是否正在運(yùn)行
[root@backup ~]# systemctl is-active rsyncd
active
6.查看服務(wù)端口是否處于監(jiān)聽狀態(tài)
[root@backup ~]# ss -lntup |grep rsync
tcp LISTEN 0 5 *:873 *:* users:(("rsync",pid=936,fd=3))
tcp LISTEN 0 5 :::873 :::* users:(("rsync",pid=936,fd=5))
7.創(chuàng)建共享目錄,并修改所屬用戶
[root@backup ~]# mkdir -p /data
[root@backup ~]# chown rsync.rsync /data
檢查
[root@backup ~]# ll -d /data
drwxr-xr-x 2 rsync rsync 147 May 21 22:01 /data