From 1b9b1e134cdea9f3220abbac7c7b1270f231a7ff Mon Sep 17 00:00:00 2001
From: Arthur BOUDREAULT <boudreaultarthur@ik.me>
Date: Fri, 19 Nov 2021 11:41:12 +0100
Subject: [PATCH] refactor: conditional for backup directory

---
 defaults/main.yml |  4 ++--
 tasks/backup.yml  | 24 ++++++++++++++++--------
 2 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/defaults/main.yml b/defaults/main.yml
index c6479cb..67a7ac2 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -65,9 +65,9 @@ ynh_apps: null
 
 # Variables for backup
 # ynh_backup:
-#   directory: "/data/backup"
+#   directory: "/data/backup" #If you want default folder, just leave it empty
 #   scheduled: "true"
 #   scheduled_hour: 3
-#   scheduled_minute: "*"
+#   scheduled_minute: "0"
 #   scheduled_weekday: "*"
 #   scheduled_month: "*"
diff --git a/tasks/backup.yml b/tasks/backup.yml
index a199110..9bc6ed8 100644
--- a/tasks/backup.yml
+++ b/tasks/backup.yml
@@ -18,15 +18,23 @@
 #                                                                             #
 #-----------------------------------------------------------------------------#
 
-- name: Create cron tasks under /etc/cron.d to perform auto-backup of apps
+- name: Create cron task to perform YNH apps backup
   ansible.builtin.cron:
-    name: "auto-backup {{ item.label }} to {{ ynh_backup.directory }}/{{ item.link }}"
+    name: "auto-backup apps to {{ ynh_backup.directory | default('/home/yunohost.backup/archives') }}"
     month: "{{ ynh_backup.scheduled_month | default('*') }}"
     weekday: "{{ ynh_backup.scheduled_weekday | default('*') }}"
-    hour: "{{ ynh_backup.scheduled_hour | default('*') }}"
-    minute: "{{ ynh_backup.scheduled_minute | default('*') }}"
+    hour: "{{ ynh_backup.scheduled_hour | default('1') }}"
+    minute: "{{ ynh_backup.scheduled_minute | default('0') }}"
     user: root
-    job: "yunohost backup create --apps {{ item.link }}
-          -o {{ ynh_backup.directory }}/{{ item.link }}"
-    cron_file: ynh_backup_apps
-  loop: "{{ ynh_apps }}"
+    job: "yunohost backup create --apps
+          {% if ynh_backup.directory is string %}
+            -o {{ ynh_backup.directory }} -n {{ ynh_backup.name }}
+          {% else %}
+            -n {{ ynh_backup.name }}
+          {% endif %}"
+    cron_file: cron_task_ynh_apps_backup
+
+- name: restart cron config ##Is it useful to restart cron after config change?
+  ansible.builtin.service:
+    name: cron
+    state: restart
-- 
GitLab