标签:优点 run 时间 x86 命令 最大 alt 监控目录 tar
Rysnc特性和优点完整备份又分为差异备份,增量备份
完整备份:每次备份都是从备份源将所有的文件或目录备份到目的地
差量备份:备份上次完全备份以后有变化的数据(他针对的上次的完全备份,他备份过程中不清除存档属性)
增量备份:备份上次备份以后有变化的数据.(他才不管是那种类型的备份,有变化的数据就备份,他会清除存档属性)*
服务端和客户端
安装部署。RSYNC依然采用CS架构,默认端口873
服务器端和测试段都要安装
安装 yum -y install rsync
RSYNC命令常用的参数
-a 权限保存模式,相当于 -lgrtopD存档 递归保持属性
-r 复制所有资料,递归处理
-p 保留档案权限,文件的属性
-t 保持时间
-g 保持属组
-o 保持属主
-D 保持device资讯
-l 复制所有链接 包括链接文件
-z 压缩
-H 保留硬链接
-A 保持ACL配合 --perms
-P 表示传输进度
--version
-v 复杂输出信息
-u 更新
--port 定义端口
一般用的组合都是azv
RSNYC的常见两种方式
1.客户端将数据推送到服务端,在规定的时间,通过规定的参数,将规定的数据,推送到指定的机器
客户端推送的语法
1.rsync 参数 本地路径 认证用户@主机地址::(服务的配置文件中定义的模块名) 记住这个即可
例如:rsync -azv /data/ back_user@IP::/data --password-file=/etc/rsync.password.
# 要注意的是 data/意思是 只拷贝data下的目录,而data 则包括data目录
2.rsync 参数 本地路径 rsync://认证用户@主机地址/模块名 ##不常用
2.服务端将数据拉取到服务器端, 在规定的时间,通过规定的参数,把规定的数据,拉到本服务器
客户端拉取的语法
1.rsync 参数 认证用户@主机地址::(服务的配置文件中定义的模块名) 本地路径 记住这个即可
2.rsync 参数 rsync://认证用户@主机地址/模块名 本地路径
服务端部署
vi /etc/rsyncd.conf
直接在文件最底部加入
uid = root #定义进程的uid gid
gid = root
use chroot = yes #打开监牢模式,如果该服务被黑了,则无法在其他文件内写入
address = IP #监听的IP
max connection = 5 #最大连接数 自定义
pid file = /var/run/rsyncd.pid #进程pid 日志 和 最大连接数的锁文件
log file = /var/log/rsyncd.log
lock file =/var/log/rsyncd.lock
fake super = yes #后期如果进程不使用root用户,需要整个参数,才能复制权限和时间
read only = false #读写模式
hosts allow = 192.168.1.0/24 #允许访问的网段
auth users =user #允许访问的用户
secrets file = /etc/rsync.password # 用户的密码文件存放位置
[date] #模块,用于访问时写的模块
path = /date/ #路径
comment = welcome to #提示信息
在服务端和客户端分别创建密码文件
在服务端创建密码文件
vi /etc/rsync.password
back_user:123qwe #前面为用户名,后面为密码
chmod 600 /etc/rsync.password #该文件必须为600权限
在客户端创建密码文件
vi /etc/rsync.password
123qwe #只写密码
chmod 600 /etc/rsync.password #该文件必须为600权限
测试
一般采用客户端推送方式
rsync -avz /data back_user@服务端IP::data --passowrd-file=/etc/rsync.password
客户端的目录 也就是 data是可以更换的,但必须存在。 测试成功后 进入下一步
要实现自动化备份,方式很多,此处采用sersync的方式(部署在客户端)
链接:https://pan.baidu.com/s/1_qzHjts6pmp_SfD2Qn5r-g
提取码:8y0e
由于该软件可能需要特殊方式上网,故此提供一个包,不大
tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz
mv GNU-Linux-x86/ sersync
sersync]# ls
confxml.xml 配置文件 sersync2 启动脚本
vi confxml.xml
修改24--28行
<sersync>
<localpath watch="/date/"> #本地同步目录
<remote ip="IP" name="test"/> #rsync模块名称和服务端IP
修改31--34行,认证部分【rsync密码认证】
<rsync>
<commonParams params="-artuz"/>
<auth start="true" users="user" passwordfile="/etc/rsync.passwd"/> #打开自动推送,指定用户和密码
<userDefinedPort start="false" port="874"/><!-- port=874 -->
<timeout start="false" time="100"/><!-- timeout=100 -->
<ssh start="false"/>
该配置文件拼凑出一个命令 ; rsync -artuz -R --delete ./ back_user@ip::data --password-file=/etc/rsync.password
启动服务
启动服务
/app/sersync/sersync2 -d -r -o /app/service/sersync/confxml.xml #-d 后台运行 -r理解为递归 -o 指定配置文件
-d 启用守护进程即后台运行
-r 在监控前将监控目录与远程主机推送一遍
-n 指定守护线程的数量 默认为10
-o 指定配置文件
-m 单独启用其他模块 refreshCDN 开启刷新CDN模块 socket http
当服务启动成功后,会首先自动执行一条命令,该命令是由sersync拼凑出来的一条由客户端推送到服务器的命令
随即测试即可
测试服务是否正常
在指定的本地目录(文中我所指定的是,wordpress博客项目默认存储博客的地点)随意添加或更改删除一个文件,若服务端对应目录发生变化则为成功
标签:优点 run 时间 x86 命令 最大 alt 监控目录 tar
原文地址:https://blog.51cto.com/14834890/2512030