守护进程模式
配置服务器rsync服务
- 检查服务器上是否安装rsync命令
命令:
[root@xxx /2020/033]# :rpm -qa|grep rsync
rsync-3.1.2-6.el7_6.1.x86_64
如果没有,安装rsync命令
yum install -y rsync
- 配置文件
配置文件路径:/etc/rsyncd.conf
匿名登录
uid = rsync
gid = rsync
use chroot = no #安全相关的配置 通常可以设置为no
fake super = yes #权限的问题 rsync临时提权让你有权限
max connections = 200 #最大连接数默认是4
pid file = /var/run/rsyncd.pid #进程号
log file = /var/log/rsyncd.log #指定日志文件 显示错误信息或程序运行信息
# exclude = lost+found/
# transfer logging = yes
timeout = 300 #默认的超时时间 没有传输的时候多长时间断开
port = 873 #rsync 端口号默认是873 也可以改8873
read only = false #只读 关闭
#auth user = rsync_backup
#指定登录用户的名称 用于客户端登录
#secrets file = /etc/rsync.passwd
#密码文件的路径
[backup]
#添加backup模块
comment = "Welcome to Azkaban RsyncBackUp"
path = /backup
指定用户登录
uid = rsync
gid = rsync
use chroot = no
#安全相关的配置 通常可以设置为no
fake super = yes
#权限的问题 rsync临时提权让你有权限
max connections = 200
#最大连接数默认是4
pid file = /var/run/rsyncd.pid
#进程号
log file = /var/log/rsyncd.log
#指定日志文件 显示错误信息或程序运行信息
# exclude = lost+found/
# transfer logging = yes
timeout = 300
#默认的超时时间 没有传输的时候多长时间断开
port = 873
#rsync 端口号默认是873 也可以改8873
read only = false
#只读 关闭
#auth user = rsync_backup
#指定登录用户的名称 用于客户端登录
#secrets file = /etc/rsync.passwd
#密码文件的路径
[backup]
#添加backup模块
comment = "Welcome to Azkaban RsyncBackUp"
path = /backup
auth users = rsync_backup
#指定登录用户的名称 用于客户端登录
secrets file = /etc/rsync.passwd
#密码文件的路径
3. 创建rsync服务管理用户
useradd -s /sbin/nologin -M rsync
nologin 禁止用户登录
-M 不创建登录目录
- 创建密码文件
echo "rsync_backup:123456" > /etc/rsync.passwd 这个密码文件是不存在的,时我们新建的
所有密码文件授权600 chmod 600 /etc/rsync.passwd
- 创建存储的目录
mkdir backup
chown -R rsync:rsync /backup/ 授权
- 重新启动服务并设置开机启动
systemctl restart rsyncd
systemctl enable rsyncd
- 测试服务
systemctl status rsyncd
ps axu|grep rsync
客户端配置
- 同步数据
mkdir backup_$(date +%F) 创建了一个以当前日期的目录
- 优化配置
推荐使用通过 RSYNC_PASSWORD全局变量
export RSYNC_PASSWORD=123456(在退出终端前有效)
第二种方法时和服务端一样创建一个密码文件,密码是123456
也可以通过 --password-file=密码文件路径