ansible/roles/rclone/tasks/main.yml

55 lines
1.2 KiB
YAML

---
- name: Install packages
ansible.builtin.package:
name: rclone
state: installed
- name: Create config directory
ansible.builtin.file:
path: /etc/rclone
state: directory
mode: 0755
owner: root
group: "{{ ansible_wheel }}"
- name: Create host config
ansible.builtin.template:
dest: /etc/rclone/rclone.conf
src: rclone.conf.j2
mode: 0644
owner: root
group: "{{ ansible_wheel }}"
- name: Create log directory
ansible.builtin.file:
path: /var/log/rclone
state: directory
mode: 0750
owner: "{{ local_user | default('root') }}"
group: "{{ local_user | default(ansible_wheel) }}"
- name: Copy rclone sync script
ansible.builtin.template:
dest: /usr/local/bin/rclone-sync
src: rclone-sync.sh.j2
mode: 0755
owner: root
group: "{{ ansible_wheel }}"
- name: Redirect cron job mail
ansible.builtin.cron:
name: MAILTO
env: true
user: "{{ local_user }}"
value: root
when:
- local_user is defined
- local_user != "root"
- name: Add rclone sync cron job
ansible.builtin.cron:
name: rclone-sync
user: "{{ local_user | default('root') }}"
hour: "3"
minute: "{{ 60 | random(seed=inventory_hostname) }}"
job: /usr/local/bin/rclone-sync