How to use cron on a Synology NAS

Unlike other Linux based systems, “crontab -e” won’t work on the Synology NAS.

Modifying crontab and enabling the deamon

  1. Become root
    sudo -i
  2. Edit /etc/crontab
    nano /etc/crontab
  3. Restart the cron deamon by typing:
    synoservice -restart crond

Note: After a shutdown or reboot, you’ll need to restart the cron deamon to enable it again.

Running tasks using a different user account

If you want to run a task under a different user than root you can do the following:

#min    hour            mday    month   wday    who     command
30      0,6,12,18       *       *       *       root    /bin/su -c "/var/services/homes/myuser/apps/flexget.sh" myuser

The task above will run a flexget script under the username myuser ever 4 hours.

One Comment

    Hector

    Hi, I’m interested about running a cronjob with a different user than root. I was wondering if my code below needs any “escape” characters?

    I know have have many double quotes, so maybe that’s why it is not running.

    */15 * * * * root /bin/su -c “filebot -rename -r -extract /volume1/download/tmp/ –output “/volume1/Video/TV Shows” –format “{n}/Season {s}/{n} {sxe} {t}” –db TheTVDB -non-strict” user1

    Here’s my issue:
    I have a cronjob to move completed files to a different directory, but when it moves them it creates a directory under the “owner 0″ (aka root). This is not good, cuz I cannot see the files in my media player on my TV :(. They must be under a user I have.

    Any help would be appreciated. Thanks.

    01 Sep 2013 | Reply

    Leave a reply