rclone: Make role more modular
This commit is contained in:
parent
c3497c2440
commit
338f4e2f0d
4 changed files with 42 additions and 29 deletions
|
@ -8,17 +8,17 @@
|
|||
ansible.builtin.file:
|
||||
path: /etc/rclone
|
||||
state: directory
|
||||
mode: "0770"
|
||||
mode: "0755"
|
||||
owner: root
|
||||
group: backup
|
||||
group: "{{ ansible_wheel }}"
|
||||
|
||||
- name: Create host config
|
||||
ansible.builtin.template:
|
||||
dest: /etc/rclone/rclone.conf
|
||||
dest: "/etc/rclone/{{ rclone_service }}.conf"
|
||||
src: rclone.conf.j2
|
||||
mode: "0640"
|
||||
owner: root
|
||||
group: backup
|
||||
group: "{{ rclone_service }}"
|
||||
|
||||
- name: Create ssh keys
|
||||
ansible.builtin.command:
|
||||
|
@ -27,45 +27,53 @@
|
|||
- -t
|
||||
- ed25519
|
||||
- -C
|
||||
- "backup@{{ inventory_hostname }}"
|
||||
- "{{ rclone_service }}@{{ inventory_hostname }}"
|
||||
- -N
|
||||
- ""
|
||||
- -f
|
||||
- /etc/rclone/id_ed25519
|
||||
creates: /etc/rclone/id_ed25519
|
||||
- "/etc/rclone/ssh_{{ rclone_service }}_ed25519_key"
|
||||
creates: "/etc/rclone/ssh_{{ rclone_service }}_ed25519_key"
|
||||
|
||||
- name: Fix ssh key permissions
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
owner: root
|
||||
group: backup
|
||||
group: "{{ rclone_service }}"
|
||||
mode: "0640"
|
||||
with_items:
|
||||
- /etc/rclone/id_ed25519
|
||||
- /etc/rclone/id_ed25519.pub
|
||||
- "/etc/rclone/ssh_{{ rclone_service }}_ed25519_key"
|
||||
- "/etc/rclone/ssh_{{ rclone_service }}_ed25519_key.pub"
|
||||
|
||||
- name: Fetch ssh public key
|
||||
ansible.builtin.fetch:
|
||||
src: /etc/rclone/id_ed25519.pub
|
||||
dest: ../files/ssh/backup.pub
|
||||
src: "/etc/rclone/ssh_{{ rclone_service }}_ed25519_key.pub"
|
||||
dest: "../files/ssh/{{ rclone_service }}.pub"
|
||||
flat: true
|
||||
|
||||
- name: Create log directory
|
||||
- name: Create base log directory
|
||||
ansible.builtin.file:
|
||||
path: /var/log/rclone
|
||||
state: directory
|
||||
mode: "0750"
|
||||
owner: backup
|
||||
group: backup
|
||||
mode: "0755"
|
||||
owner: root
|
||||
group: "{{ ansible_wheel }}"
|
||||
|
||||
- name: Create backup directories
|
||||
- name: Create log directory
|
||||
ansible.builtin.file:
|
||||
path: "/srv/backup/{{ item }}"
|
||||
path: "/var/log/rclone/{{ rclone_service }}"
|
||||
state: directory
|
||||
mode: "0750"
|
||||
owner: "{{ rclone_service }}"
|
||||
group: "{{ rclone_service }}"
|
||||
|
||||
- name: Create data directories
|
||||
ansible.builtin.file:
|
||||
path: "/srv/{{ rclone_service }}/{{ item }}"
|
||||
state: directory
|
||||
mode: "0770"
|
||||
owner: root
|
||||
group: backup
|
||||
with_items: "{{ groups['sftpbackup'] }}"
|
||||
group: "{{ rclone_service }}"
|
||||
with_items: "{{ groups[rclone_hostgroup | default(rclone_service)] }}"
|
||||
|
||||
- name: Copy rclone sync script
|
||||
ansible.builtin.copy:
|
||||
|
@ -79,13 +87,13 @@
|
|||
ansible.builtin.cron:
|
||||
name: MAILTO
|
||||
env: true
|
||||
user: backup
|
||||
user: "{{ rclone_service }}"
|
||||
value: root
|
||||
|
||||
- name: Add rclone sync cron job
|
||||
ansible.builtin.cron:
|
||||
name: rclone-sync
|
||||
user: backup
|
||||
user: "{{ rclone_service }}"
|
||||
hour: "3"
|
||||
minute: "00"
|
||||
job: /usr/local/bin/rclone-sync
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue