1- hosts: backupdb 2 become: yes 3 vars_files: 4 # variables are used in templates 5 - vars/main.yml 6 - local-vars/local.yml 7 tasks: 8 - name: ensure cldrbackup group is there 9 group: 10 name: cldrbackup 11 state: present 12 - name: ensure cldrbackup user is there 13 user: 14 name: cldrbackup 15 groups: 16 - cldrbackup 17 append: yes # add to the groups, do not remove 18 state: present 19 create_home: true 20 - name: set up /home/cldrbackup/.my.cnf 21 no_log: true 22 template: 23 src: templates/mycnf.j2 24 dest: /home/cldrbackup/.my.cnf 25 owner: cldrbackup 26 group: cldrbackup 27 mode: '0640' 28 - name: set up /home/cldrbackup/.ssh/ 29 file: 30 path: /home/cldrbackup/.ssh/ 31 owner: cldrbackup 32 group: cldrbackup 33 mode: '0700' 34 state: directory 35 - name: set up /home/cldrbackup/.ssh/config 36 template: 37 src: templates/cldrbackup/config.j2 38 dest: /home/cldrbackup/.ssh/config 39 owner: cldrbackup 40 group: cldrbackup 41 mode: '0640' 42 - name: set up /home/cldrbackup/.ssh/id_rsa 43 no_log: true 44 copy: 45 src: local-vars/cldrbackup/id_rsa 46 dest: /home/cldrbackup/.ssh/id_rsa 47 owner: cldrbackup 48 group: cldrbackup 49 mode: '0600' 50 - name: set up /home/cldrbackup/.ssh/id_rsa.pub 51 copy: 52 src: local-vars/cldrbackup/id_rsa.pub 53 dest: /home/cldrbackup/.ssh/id_rsa.pub 54 owner: cldrbackup 55 group: cldrbackup 56 mode: '0640' 57 - name: set up /home/cldrbackup/.ssh/known_hosts 58 copy: 59 src: local-vars/cldrbackup/known_hosts 60 dest: /home/cldrbackup/.ssh/known_hosts 61 owner: cldrbackup 62 group: cldrbackup 63 mode: '0640' 64 - name: set up /home/cldrbackup/backup.sh 65 template: 66 src: templates/cldrbackup/backup_sh.j2 67 dest: /home/cldrbackup/backup.sh 68 owner: cldrbackup 69 group: cldrbackup 70 mode: '0640' 71 - name: set up daily db backup cron job 72 cron: 73 name: "backup db" 74 user: cldrbackup 75 minute: "53" 76 hour: "13" # 13:53 UTC = 6:53 PDT or 5:53 PST 77 job: "sh /home/cldrbackup/backup.sh >/dev/null 2>&1" 78