--- - name: installer age et lftp ansible.builtin.apt: name: - age - lftp state: present update_cache: true cache_valid_time: 3600 - name: créer le répertoire de la clé age ansible.builtin.file: path: "{{ sauvegardes_age_dir }}" state: directory owner: root group: root mode: "0700" - name: générer la paire de clés age (si absente) ansible.builtin.command: cmd: "age-keygen -o {{ sauvegardes_age_cle }}" creates: "{{ sauvegardes_age_cle }}" - name: restreindre les permissions de la clé privée age ansible.builtin.file: path: "{{ sauvegardes_age_cle }}" owner: root group: root mode: "0600" - name: lire la clé publique age (pour affichage, jamais la clé privée) ansible.builtin.command: cmd: "grep -oP '(?<=public key: )age1\\S+' {{ sauvegardes_age_cle }}" register: sauvegardes_age_pub changed_when: false - name: déployer le script de sauvegarde ansible.builtin.template: src: sauvegarde-dedibackup.sh.j2 dest: /usr/local/sbin/sauvegarde-dedibackup.sh owner: root group: root mode: "0700" - name: déployer le service systemd ansible.builtin.template: src: sauvegarde-dedibackup.service.j2 dest: /etc/systemd/system/sauvegarde-dedibackup.service mode: "0644" notify: recharger systemd - name: déployer le timer systemd ansible.builtin.template: src: sauvegarde-dedibackup.timer.j2 dest: /etc/systemd/system/sauvegarde-dedibackup.timer mode: "0644" notify: recharger systemd - name: appliquer les changements systemd ansible.builtin.meta: flush_handlers - name: activer et démarrer le timer de sauvegarde ansible.builtin.systemd: name: sauvegarde-dedibackup.timer enabled: true state: started - name: afficher la clé publique age (à connaître, jamais la privée) ansible.builtin.debug: msg: "Clé publique age du serveur : {{ sauvegardes_age_pub.stdout }}"