xref: /aosp_15_r20/external/cldr/tools/scripts/ansible/backup-db-playbook.yml (revision 912701f9769bb47905792267661f0baf2b85bed5)
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