1. roles/lsync/tasks/main.yml
# 安装lsyncd
yum -y install lsyncd
# 配置/etc/lsyncd.conf
echo '
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status",
inotifyMode = "CloseWrite",
maxProcesses = 8,
}
sync {
default.rsync,
source = "/data",
target = "[email protected]::data",
delete= true,
exclude = { ".*" },
delay = 1,
rsync = {
binary = "/usr/bin/rsync",
archive = true,
compress = true,
verbose = true,
password_file = "/etc/rsync.pwd",
_extra = {"--bwlimit=200"}
}
}
' > /etc/lsyncd.conf
# 创建密码验证文件
echo '1' > /etc/rsync.pwd
chmod 600 /etc/rsync.pwd
# 启动服务并加入开机自启
systemctl start lsyncd
systemctl enable lsyncd
- name: Install lsyncd
yum:
name: lsyncd
state: installed
- name: Modiry lsyncd configure
template:
src: lsyncd.conf.j2
dest: /etc/lsyncd.conf
notify: Restart lsyncd
- name: Create virtual_user_password_file
template:
src: rsync.pwd.j2
dest: /etc/rsync.pwd
mode: '600'
- name: Start lsyncd
systemd:
name: lsyncd
state: started
enabled: yes
2.roles/lsync/handlers/main.yml
# 重启lsync服务,使配置文件生效
systemctl restart lsyncd
- name: Restart lsyncd
systemd:
name: lsyncd
state: restarted
3.roles/lsymc/templates/lsyncd.conf.j2
# 此内容为lsyncd的配置文件
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status",
inotifyMode = "CloseWrite",
maxProcesses = 8,
}
sync {
default.rsync,
source = "/data",
target = "[email protected]::data",
delete= true,
exclude = { ".*" },
delay = 1,
rsync = {
binary = "/usr/bin/rsync",
archive = true,
compress = true,
verbose = true,
password_file = "/etc/rsync.pwd",
_extra = {"--bwlimit=200"}
}
}
4.roles/lsync/templates/rsync.pwd.j2
# 此内容为rsync虚拟用户的验证密码
1