Search code examples
linuxshellsshcronrsync

Script doesn't work when called from cron


I have the following script that works fine when called from the command line:

#!/bin/sh
/usr/bin/mysqldump -u root -ppassword redmine > /home/administrateur/backup/backup_$(date+%Y-%m-%d-%H.%M.%S).sql
find /home/administrateur/backup/* -mtime +15 -exec rm {} \;
rsync -e 'ssh -p 22' -avzp /home/administrateur/backup is-uber-1:/home/administrateur/backup

But this script omits the rsync line when called from cron.

Does anyone know why?


Solution

  • Basically you need to run your script as administrateur. You can use sudo for it:

    /usr/bin/sudo -H -u administrateur -- /bin/sh /path/to/your/script.sh