Files
ansible/roles/omv_backup/tasks/main.yml
2025-05-24 19:46:03 +02:00

89 lines
2.7 KiB
YAML
Executable File

- name: Omv Setup
become: "{{ false if inventory_hostname == 'nas.home.lan' else true }}"
block:
- name: Include vault
ansible.builtin.include_vars:
file: jaydee.yml
name: mysecrets
- name: Delete content & directory
ansible.builtin.file:
state: absent
path: "{{ dest_folder }}"
- name: Pull repo
tags:
- git_pull
ansible.builtin.git:
repo: "https://{{ mysecrets['git_user'] | urlencode }}:{{ mysecrets['git_password_mqtt'] | urlencode }}@gitlab.sectorq.eu/jaydee/omv_backup.git"
dest: "{{ dest_folder }}"
update: true
clone: true
version: main
- name: Print
ansible.builtin.debug:
msg: "{{ inventory_hostname }}"
- name: Create a directory if it does not exist
ansible.builtin.file:
path: /myapps
state: directory
mode: '0755'
owner: root
group: root
- name: Upload script
ansible.builtin.copy:
src: "{{ dest_folder }}/omv_backup.py"
dest: /myapps/omv_backup.py
remote_src: true
mode: '0755'
owner: root
group: root
when: inventory_hostname != 'nas.home.lan'
- name: Upload requirements
ansible.builtin.copy:
src: "{{ dest_folder }}/requirements.txt"
dest: /myapps/requirements.txt
remote_src: true
mode: '0755'
owner: root
group: root
when: inventory_hostname != 'nas.home.lan'
- name: Install venv
ansible.builtin.apt:
name:
- python3-virtualenv
- name: Install specified python requirements in indicated (virtualenv)
ansible.builtin.pip:
requirements: /myapps/requirements.txt
virtualenv: /myapps/venv
- name: 'Ensure an old job is no longer present. Removes any job that is prefixed by "#Ansible: an old job" from the crontab'
ansible.builtin.cron:
name: "omv_backup"
state: absent
- name: Upload service config
ansible.builtin.copy:
src: omv_backup.service
dest: /etc/systemd/system/omv_backup.service
mode: '0755'
owner: root
group: root
when: inventory_hostname == 'amd.home.lan'
- name: Restart omv service
ansible.builtin.service:
name: omv_backup
state: restarted
daemon_reload: true
enabled: true
when: inventory_hostname == 'amd.home.lan'
# - name: Ensure a job that runs at 2 and 5 exists. Creates an entry like "0 5,2 * * ls -alh > /dev/null"
# ansible.builtin.cron:
# name: "omv_backup"
# minute: "0"
# hour: "8"
# job: "sudo /myapps/omv_backup.py -b > /dev/null 2>&1 &"
# state: present