rsync同步备份

1、备机 bak 同步服务端上的 web
/usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/user.passwd salt@172.16.3.18::service /opt/bak/web/

2、bak 同步 service1 服务
/usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/user.passwd salt@172.16.3.18::service1 /opt/bak/service1/

3、bak 同步 service2 服务
/usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/user.passwd salt@172.16.3.18::service2 /opt/bak/service2/
# 注意 在备份的主机操作 被同步的bak目录 在后,如果在前就是备的同步主的了。

# 备机本地的 bak 同步到服务端;
/usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/user.passwd /opt/bak/web salt@172.16.3.18::web

### 参数:
-v 详细模式输出,传输时的进度等信息
-z 传输时进行压缩以提高效率—compress-level=num可按级别压缩
-r 对子目录以递归模式,即目录下的所有目录都同样传输。
-t 文件的时间信息time
-o 文件属主信息owner
-p 文件权限
-g 文件的属组信息
-P progress 显示同步的过程及传输时的进度等信息
-a 归档模式,表示以地柜模式传输文件,并保持文件所有属性相当于-rtopgdl
-e 使用的信道协议,指定替代rsh的shell程序。例如:ssh
-D 设备文件信息
-l --links 保留软连接
--progress 显示备份过程
--delete 删除那些目的文件中源文件没有的文件
--exclude=PATTERN  指定排除不需要传输的文件模式
--config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件
--port=PORT 指定其他的rsync服务端口
-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。
-suffix=SUFFIX 定义备份文件前缀
-stats 给出某些文件的传输状态
-R, --relative 使用相对路径信息 如:rsync path/1/1.file remote:/tmp/ 则在/tmp目录下创建1.file文件
而如果使用-R参数:rsync -R path/1/1.file remote:/tmp/ 则会创建文件/tmp/path/1/1.file,也就是会保持完全路径信息。

 

一、服务器端、备份客户端安装 rsync 服务。

1、环境:

CentOS 6
主 IP:172.16.3.18
备 IP:172.16.3.19

2、安装 rsync 软件

#yum install rsync -y

3、iptables 开放 873 端口

#iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
#service iptables save
#service iptables restart

二、server 服务端操作
IP: 172.16.3.18
1、需要备份的文件

web、service1、service2

2、rsync 配置文件示例(默认没有、需要收到创建)

# cat /etc/rsyncd.conf 
uid
= root gid = root use chroot = no
# 关机用户主目录 max connections
= 100
# 客户端最大链接 timeout = 30 strict modes = yes
# 密码文件配置 pid file
= /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log hosts allow = 172.16.3.18
# 指定白名单IP # hosts deny = * list = false
# 禁止客户端查看用户列表 auth users = user
# rsync同步使用的账户 secrets file
= /etc/user.passwd
# 需要手动创建密码文件 [web] path
= /home/web/ ignore errors
# 忽略 错误 read only
= no write only = no [service1] path = /opt/service1/ ignore errors read only = no write only = no [service2] path = /opt/service2/ ignore errors read only = no write only = no

3、密码文件 /etc/user.passwd , (默认没有、需要收到创建)

# cat /etc/user.passwd
user:passwd
# 格式
用户:密码

4、启动默认守护进行:

#/usr/bin/rsync --daemon

5、检测进程

#ps -ef |grep rsync 
#netstat -ano |grep 873

二、客户端 bak 设置操作
备 IP:172.16.3.19

1.创建密码文件 /etc/user.passwd , 只写密码就可以。 (默认没有、需要收到创建)

#cat /etc/user.passwd
passwd
# 格式
密码

2、服务的目录 同步 到备机 bak 上:

 

三、 设置定时备份

1、同步脚本

# vi /opt/script/rsync-user.sh
/usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/user.passwd salt@172.16.3.18::service /opt/bak/web

2、定时同步(每周日零点进行同步)

crontab -e
0 0 * * 0 /opt/script/rsync-user.sh > /opt/script/rsync-user.txt

 

posted @ 2019-09-07 16:29  01234567  阅读(316)  评论(0编辑  收藏  举报