1 两台服务器 192.168,94.132 应用服务器(服务端) 备份至 192.168.94.131 备份服务器(客户端)
rsync -v 查询是否有安装版本,有则不进行安装
没有执行下方步骤
在服务器端安装和配置 rsync:
yum -y install rsync
服务端配置
2 在服务器端创建如下的三个文件:
rsyncd.conf -- 主配置文件
rsyncd.secrets -- 密码文件
rsyncd.motd -- 服务器信息文件
3 修改配置文件
vim /etc/rsyncd/rsyncd.conf
uid = root #用户
gid = root #用户组
use chroot = no #安全相关
max connections = 5 #最大链接数
strict modes = yes #是否检查口令文件的权限
port = 873 #默认端口873
pid file = /etc/rsyncd/rsyncd.pid #进程对应的进程号文件
lock file = /etc/rsyncd/rsync.lock #锁文件
log file = /etc/rsyncd/rsyncd.log #日志文件,显示出错信息
[backup]
path = /opt/upFiles #模块对应的位置(路径) 将哪个目录作为服务端需要备份的目录
comment = This is a backup 说明
ignore errors #忽略错误程序
read only = false #是否只读
list = no #是否可以列表
hosts allow = 192.168.94.131 #准许访问rsync服务器的客户范围
hosts deny = 0.0.0.0/32 #禁止访问rsync服务器的客户范围
auth users = root 设置允许连接服务器的账户(自定义命名)
secrets file = /etc/rsyncd/rsyncd.secrets #设置进行连接认证的密匙文件
4 修改密码配置文件
vim /etc/rsyncd/rsyncd.secrets
5 修改服务器信息
vim /etc/rsyncd/rsyncd.motd
6 启动 rsync 服务:
rsync --daemon --config=/etc/rsyncd/rsyncd.conf
7 查看 rsync 服务是否启动:
ps -ef|grep rsync
netstat -anlp | grep 873
lsof -i:873
8 设置开机启动 rsync 服务:
vim /etc/rc.local
rsync --daemon --config=/etc/rsyncd/rsyncd.conf
客户端配置
1 安装 rsync:有则不安装
yum -y install rsync
2 创建密码文件
touch /etc/rsyncd.secrets
vim /etc/rsyncd.secrets
需要与服务端密码一致rsyncd. secrets中配置的密码一致
赋权
chmod 600 /etc/rsyncd.secrets
3 启动文件同步
rsync -avzP --delete --progress root@192.168.94.132::backup --password-file=/etc/rsyncd.secrets /home/backup
上述命令的意思是用root用户登陆到 192.168.94.132 的 rsync 服务器上,把 backup 模块中指定的数据同步到本地的 /home/backup 目录下。
4 定时任务
设置定时任务:
[root@localhost ~]# crontab -e
* * * * * rsync -avzP --delete --progress root@192.168.94.132::backup --password-file=/etc/rsyncd.secrets /home/backup
5 重启定时任务:
service crond restart
命令参数介绍:
-a archive 归档模式,表示以递归方式传输文件,并保持所有文件属性
-r 是递归
-p 表示保持文件原有权限
-t 保持文件原有时间
-g 保持文件原有用户组
-o 保持文件原有属主
-D 相当于块设备文件
-z 传输时压缩
-P 传输进度
-v 传输时的进度等信息,和 -P 有点关系
--progress 是指显示出详细的进度情况
--delete 是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致
--password-file=/etc/rsyncd.secrets 指定密码文件,这样就可以在脚本中使用而无需交互式地输入验证密码了