67 lines
2.3 KiB
YAML
67 lines
2.3 KiB
YAML
- include_vars: backup-director.yml
|
|
|
|
- group: name="{{ group }}" state=present
|
|
- user:
|
|
name: "{{ user }}"
|
|
shell: /bin/nologin
|
|
home: "{{ home }}"
|
|
createhome: yes
|
|
generate_ssh_key: yes
|
|
ssh_key_bits: 4096
|
|
ssh_key_comment: "{{ user }}@{{ inventory_hostname }}"
|
|
group: "{{ group }}"
|
|
groups: ""
|
|
state: present
|
|
|
|
- file:
|
|
path: "{{ home }}/scripts"
|
|
owner: "{{ user }}"
|
|
group: "{{ group }}"
|
|
mode: 0700
|
|
state: directory
|
|
|
|
- file: path="{{ home }}/playbooks" owner="{{ user }}" group="{{ group }}" mode=0700 state=directory
|
|
- file: path="{{ home }}/host_vars" owner="{{ user }}" group="{{ group }}" mode=0700 state=directory
|
|
- apt: name=ansible state=latest
|
|
|
|
- name: copy ansible files
|
|
copy:
|
|
src: "{{ lookup('env', 'ANSIBLE_PWD')}}/{{ item }}"
|
|
dest: "{{ home }}/{{ item }}"
|
|
owner: "{{ user }}"
|
|
group: "{{ group }}"
|
|
mode: 0600
|
|
with_items:
|
|
- '{{ files }}'
|
|
|
|
- name: create custom ansible config file for backup direction
|
|
template:
|
|
src: ansible.cfg.j2
|
|
dest: "{{ home }}/ansible.cfg"
|
|
owner: "{{ user }}"
|
|
group: "{{ group }}"
|
|
mode: 0600
|
|
|
|
- copy:
|
|
src="{{ lookup('env', 'ANSIBLE_PWD')}}/files/tools/mailer"
|
|
dest="/usr/local/bin/mailer"
|
|
owner="root"
|
|
group="root"
|
|
mode=0755
|
|
|
|
- file: path="{{ home }}/scripts/run-backup.sh" state=file owner="{{ user }}" group="{{ group }}" mode=0700
|
|
- apt: name=nfs-client state=latest
|
|
- file: path="/mnt/dual" state=directory
|
|
- mount: name=/mnt/dual src="synology:/volume1/Dual" fstype=nfs opts=ro,nfsvers=4 state=mounted
|
|
- file: path="/mnt/homes" state=directory
|
|
|
|
- mount: name=/mnt/homes src="synology:/volume1/homes" fstype=nfs opts=ro,nfsvers=4 state=mounted
|
|
- mount: name=/mnt/wilting src="synology:/volume1/wilting" fstype=nfs opts=ro,nfsvers=4 state=mounted
|
|
|
|
- template: src=di-synology-backup.j2 dest=/usr/local/bin/di-synology-backup mode=0700 owner=root group=root
|
|
- template: src=di-offsite-backup.j2 dest=/usr/local/bin/di-offsite-backup mode=0700 owner=root group=root
|
|
- cron: name="backup" minute="12" hour="1" day="*" month="*"
|
|
user="{{ user }}" job="{{ home }}/scripts/run-backup.sh 2>&1 | /usr/local/bin/mailer -from \"backup@dualinventive.com\" -to \"it@dualinventive.com\" -subject \"Backup report\""
|
|
cron_file=di_backup state=present
|
|
- apt: name=rsync state=latest
|