1.创建rsync的配置文件
[root@master-61 /server]# vim /rsyncd.conf
[root@master-61 /server]# cat /rsyncd.conf
uid = www
gid = www
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_backup
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[backup]
comment = about rsync
path = /backup
2.创建rsync的密码文件
[root@master-61 /server]# vim /rsync.passwd
[root@master-61 /server]# cat /rsync.passwd
rsync_backup:123456
3.创建lsync的配置文件
[root@master-61 /server]# vim /lsyncd.conf
[root@master-61 /server]# cat /lsyncd.conf
settings {
logfile ="/var/log/lsyncd/lsyncd.log",
statusFile ="/var/log/lsyncd/lsyncd.status",
inotifyMode = "CloseWrite",
maxProcesses = 8,
}
sync {
default.rsync,
source = "/nfs-data",
target = "rsync_backup@172.16.1.41::backup",
delete= true,
exclude = {".*"},
delay=1,
rsync = {
binary = "/usr/bin/rsync",
archive = true,
compress = true,
verbose = true,
password_file="/etc/rsync.passwd",
_extra={"--bwlimit=200"}
}
}
4.创建lsync的密码文件
[root@master-61 /server]# vim /server/rsync.passwd
[root@master-61 /server]# cat /server/rsync.passwd
123456
5.创建nfs的配置文件
[root@master-61 /server]# vim /etc/exports
[root@master-61 /server]# cat /etc/exports
#共享目录1
/nfs-data 172.16.1.0/24(rw,sync,all_squash)
6.编写剧本,一键部署
[root@master-61 /server]# cat install_all.yaml
- hosts: nfs
tasks:
- name: 01安装nfs-utils,rpcbind,lsyncd
yum:
name: "{{ item }}"
state: present
loop:
- nfs-utils
- rpcbind
- lsyncd
- name: 02发送nfs-utils配置文件
copy:
src: /etc/exports
dest: /etc/exports
notify:
- 重启nfs
- name: 03发送lsyncd密码文件
copy:
src: /server/rsync.passwd
dest: /etc/rsync.passwd
mode: 600
- name: 04发送lsyncd配置文件
copy:
src: /lsyncd.conf
dest: /etc/lsyncd.conf
notify:
- 重启lsyncd
- name: 05创建共享目录
file:
path: /nfs-data
state: directory
owner: nfsnobody
group: nfsnobody
- name: 06启动服务
systemd:
name: "{{ item }}"
state: started
loop:
- rpcbind
- nfs
- lsyncd
handlers:
- name: 重启nfs
systemd:
name: nfs
state: restarted
- name: 重启lsyncd
systemd:
name: lsyncd
- hosts: rsync
tasks:
- name: 01安装rsync软件
yum:
name: rsync
state: present
- name: 02发送配置文件
copy:
src: /rsyncd.conf
dest: /etc/rsyncd.conf
notify:
- 重启rsync
- name: 03发送密码文件
copy:
src: /rsync.passwd
dest: /etc/rsync.passwd
mode: 600
- name: 04创建www用户
user:
name: www
create_home: no
shell: /sbin/nologin
- name: 05创建共享目录
file:
path: /backup
state: directory
owner: www
group: www
- name: 启动rsync服务
systemd:
name: rsyncd
state: started
handlers:
- name: 重启rsync
systemd:
name: rsyncd
state: restarted
- hosts: web
tasks:
- name: 01安装nfs-utils
yum:
name: nfs-utils
state: present
- name: 02挂载共享目录
mount:
src: 172.16.1.31:/nfs-data
path: /nfs_test
fstype: nfs
state: mounted
[root@master-61 /server]# ansible-playbook install_all.yaml
PLAY [nfs] ***********************************************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************************
ok: [172.16.1.31]
TASK [01安装nfs-utils,rpcbind,lsyncd] **********************************************************************************************
ok: [172.16.1.31] => (item=nfs-utils)
ok: [172.16.1.31] => (item=rpcbind)
ok: [172.16.1.31] => (item=lsyncd)
TASK [02发送nfs-utils配置文件] *********************************************************************************************************
changed: [172.16.1.31]
TASK [03发送lsyncd密码文件] ************************************************************************************************************
ok: [172.16.1.31]
TASK [04发送lsyncd配置文件] ************************************************************************************************************
changed: [172.16.1.31]
TASK [05创建共享目录] ******************************************************************************************************************
ok: [172.16.1.31]
TASK [06启动服务] ********************************************************************************************************************
ok: [172.16.1.31] => (item=rpcbind)
ok: [172.16.1.31] => (item=nfs)
changed: [172.16.1.31] => (item=lsyncd)
RUNNING HANDLER [重启nfs] **********************************************************************************************************
changed: [172.16.1.31]
RUNNING HANDLER [重启lsyncd] *******************************************************************************************************
ok: [172.16.1.31]
PLAY [rsync] *********************************************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************************
ok: [172.16.1.41]
TASK [01安装rsync软件] ***************************************************************************************************************
ok: [172.16.1.41]
TASK [02发送配置文件] ******************************************************************************************************************
ok: [172.16.1.41]
TASK [03发送密码文件] ******************************************************************************************************************
ok: [172.16.1.41]
TASK [04创建www用户] *****************************************************************************************************************
ok: [172.16.1.41]
TASK [05创建共享目录] ******************************************************************************************************************
ok: [172.16.1.41]
TASK [启动rsync服务] *****************************************************************************************************************
ok: [172.16.1.41]
PLAY [web] ***********************************************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************************
ok: [172.16.1.7]
ok: [172.16.1.8]
ok: [172.16.1.9]
TASK [01安装nfs-utils] *************************************************************************************************************
ok: [172.16.1.7]
ok: [172.16.1.8]
ok: [172.16.1.9]
TASK [02挂载共享目录] ******************************************************************************************************************
ok: [172.16.1.9]
ok: [172.16.1.7]
ok: [172.16.1.8]
PLAY RECAP ***********************************************************************************************************************
172.16.1.31 : ok=9 changed=4 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
172.16.1.41 : ok=7 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
172.16.1.7 : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
172.16.1.8 : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
172.16.1.9 : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0