Nextcloud Crontab/Cronjob Settings

This is a continuation from here:
Crontab Info

the best/clearest info I have seen for using a cronjob with the preview generator app:

$ sudo crontab -e -u www-data

then enter the code below at the bottom (runs every 8 hours):

* */8 * * * php -f /var/www/html/nextcloud/cron.php

How to run a cron manually (the example below is for nextcloud):

$ sudo -u www-data php -f /var/www/html/nextcloud/cron.php

Setup Cron (or systemd timers) for the Nextcloud Preview Generator


Add or create a new cronjob for the Nextcloud user:

$ sudo crontab -e -u www-data

Using your favorite editor, add something like this, which will run the job at 04:00 (make sure to point to the correct directory of the ‘occ’ file):

0 4 * * * /usr/bin/php -f /var/www/html/nextcloud/occ preview:pre-generate

Or using systemd timers

Systemd also has the possibility to run specific tasks at specific times or events. called Timers. You need to create 2 unit files:

File 1:

$ sudo nano /etc/systemd/system/nextcloud-preview-generator.service

and add this to the File 1:

Description=Nextcloud Preview Generator

ExecStart=/usr/bin/php -f /var/www/html/nextcloud/occ preview:pre-generate


File 2:

$ sudo nano /etc/systemd/system/nextcloud-preview-generator.timer

and add this to File 2:

Description=Run Nextcloud Preview Generator daily at 04:00

OnCalendar=*-*-* 4:00:00


systemd reload:

$ systemctl daemon-reload

activate the timer:

$ systemctl enable nextcloud-preview-generator.timer

start the timer:

$ systemctl start nextcloud-preview-generator.timer

2 thoughts on “Nextcloud Crontab/Cronjob Settings

  1. Thanks for the article, and something you could add for the people that run nextcloud in docker:

    Command to call from Cron when running Nextcloud in Docker:
    docker exec –user www-data CONTAINER_ID php /var/www/html/cron.php

    and, for the Previews:
    docker exec –user www-data CONTAINER_ID php occ preview:pre-generate

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.