- 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