Hello everyone!

I’m running a few different services off of my Ubuntu VM on ProxMox, and they’ve all been running great for about 6 months now. However, I’m trying to setup some better backups and such of individual services, and I wrote a bash script to do that for me and delete older backups once I accumulate enough.

All of that works 100% fine. Like absolutely no issues with the script when I run it myself. However, I can not for the life of me get crontab to run it.

If I run sudo ./folder/directory/backup.sh then everything runs perfectly. However, if I setup my crontab with 0 * * * * ./folder/directory/backup.sh I get absolutely nothing.

I have also tried setting the crontab with sudo, sh, sudo sh, and both combinations without the dot in front of the path to the shell script.

Does anyone have any idea what I am doing wrong?

Thank you so much for any help

Update: I have edited /etc/crontab with the following 0 * * * * * root /mnt/nas/freshrss/backups/backup.sh. After waiting for the crontab to fire off, nothing happened. Still not really sure what’s going on.

  • DeuxChevaux@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    Thre could be two other things that I can think of:

    Permissions maybe: Try “sudo chmod +x /path/yourscript.sh” to make your script explicitly executable.

    Also, the environment of cron doing something may be different from when you do it as root or user. So you should always use the full path to every command in your script; like “/bin/tar” instead of just “tar”. To find out, where things are, you can use “whereis tar”, and it will tell you, whether it’s in /bin, /usr/bin or elsewhere.