Rsync同步

Rsync同步

安装

1
yum install -y rsync

参数

1
2
3
4
5
6
7
8
9
-a 归档模式
-v 详细模式
-z 传输过程中压缩
-u 更新模式
-t 保持文件时间
-P 显示进度
--progress 显示过程中的状态
--delete 实现无差异数据同步,删掉dst的文件
--exclude 排除,目录相对于src目录

例子

1
2
3
rsync -avzut -P --progress /data/aaa/ root@10.9.127.33:/data/bbb/

rsync -avzut -P --progress /var/lib/jenkins/ ops_root@172.31.51.65:/data/backup/jenkins/ --exclude workspace --exclude .cache --exclude .npm

排除列表脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
## 排除列表
cat sync_gis.exclude.lst
geoserver/8083/
geoserver/8084/logs/
geoserver/8084/temp/
geoserver/6066/logs/
geoserver/6066/temp/
geoserver/data/data_8083/
#
geoserver/data/data_6066/data/test0903
geoserver/data/data_6066/logs/
geoserver/data/data_6066/gwc/
geoserver/data/data_8084/logs/
geoserver/data/data_8084/gwc/
#

#!/bin/sh
date

CMDSTR='cd /home/gis/server;rsync -avzut geoserver /s3mnt/gis_data/'

for row in $(cat sync_gis.exclude.lst |grep -v ^# |grep -v ^$);do
CMDSTR=$CMDSTR" --exclude "$row
done

echo $CMDSTR |sh