Ansible-完成Lysnc实时同步服务搭建

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

你可能感兴趣的:(Ansible-完成Lysnc实时同步服务搭建)