From 0f9e8d212412a8b4c74fc9756ca352aef645e51b Mon Sep 17 00:00:00 2001 From: "Andreas B. Mundt" Date: Thu, 16 Jan 2020 18:56:32 +0100 Subject: [PATCH] Implement nextcloudcron systemd timer. --- roles/nextcloud/files/nextcloudcron.service | 6 +++++ roles/nextcloud/files/nextcloudcron.timer | 10 +++++++++ roles/nextcloud/handlers/main.yml | 7 ++++++ roles/nextcloud/tasks/main.yml | 25 +++++++++++++++++++++ 4 files changed, 48 insertions(+) create mode 100644 roles/nextcloud/files/nextcloudcron.service create mode 100644 roles/nextcloud/files/nextcloudcron.timer diff --git a/roles/nextcloud/files/nextcloudcron.service b/roles/nextcloud/files/nextcloudcron.service new file mode 100644 index 0000000..79f01dc --- /dev/null +++ b/roles/nextcloud/files/nextcloudcron.service @@ -0,0 +1,6 @@ +[Unit] +Description=Nextcloud cron.php job + +[Service] +User=www-data +ExecStart=/usr/bin/php -f /var/www/nextcloud/cron.php diff --git a/roles/nextcloud/files/nextcloudcron.timer b/roles/nextcloud/files/nextcloudcron.timer new file mode 100644 index 0000000..eda82c9 --- /dev/null +++ b/roles/nextcloud/files/nextcloudcron.timer @@ -0,0 +1,10 @@ +[Unit] +Description=Run Nextcloud cron.php every 5 minutes + +[Timer] +OnBootSec=5min +OnUnitActiveSec=5min +Unit=nextcloudcron.service + +[Install] +WantedBy=timers.target diff --git a/roles/nextcloud/handlers/main.yml b/roles/nextcloud/handlers/main.yml index 9d2f7c6..17822fa 100644 --- a/roles/nextcloud/handlers/main.yml +++ b/roles/nextcloud/handlers/main.yml @@ -9,3 +9,10 @@ name: php{{ php_ver.stdout }}-fpm state: restarted listen: "restart php-fpm" + +- name: enable nextcloudcron.service and .timer + systemd: + name: nextcloudcron.timer + state: started + enabled: True + listen: "enable nextcloudcron.service" diff --git a/roles/nextcloud/tasks/main.yml b/roles/nextcloud/tasks/main.yml index 3ac9c2e..3f3649c 100644 --- a/roles/nextcloud/tasks/main.yml +++ b/roles/nextcloud/tasks/main.yml @@ -199,3 +199,28 @@ chdir: "{{ nc_dir }}" warn: False when: not notes.stat.exists + +## nextcloudcron +- name: provide nextcloudcron.service and .timer + copy: + src: "{{ item }}" + dest: "/etc/systemd/system/{{ item }}" + with_items: + - nextcloudcron.service + - nextcloudcron.timer + register: nextcloudcron + notify: "enable nextcloudcron.service" + +- name: switch to systemd timer + command: sudo -u www-data php ./occ background:cron + args: + chdir: "{{ nc_dir }}" + warn: False + when: nextcloudcron.changed + + +## ToDo kerberox integration: +# sudo -u www-data php ./occ app:enable user_ldap +# sudo -u www-data php ./occ app:install user_saml + +# sudo -u www-data php ./occ ldap