0

So I've created a backup script that tar's up files, rsyncs them to a remote server, and removes the tar afterwards. I've manually tested the file and it runs, however I cannot get it to run via cron.

Script Details:

-rwxr-xr-x 1 root   root    792 Sep 21 18:44 backup.sh

Crontab Details:

* 04 * * * sh /home/user/scripts/backup.sh >/dev/null 2>&1

Syslog Output:

Sep 23 16:25:01 user CRON[15244]: (root) CMD (sh /home/user/scripts/backup.sh >/dev/null 2>&1)

I've attempted to run just /home/user/scripts/backup.sh without the sh in front also, however it gives the same syslog output.

Any help on this is appreciated. Without any real details in the syslog, I've run into a roadblock.

3 Answers3

0

The command is running since you're seeing it in syslog. I imagine you don't have a hashbang at the top of your shell script, are using bash syntax while running the job in sh, or are using a non-fully-qualified path (using just echo instead of /bin/echo). There's this answer to that problem: https://unix.stackexchange.com/questions/94456/how-to-change-cron-shell-sh-to-bash

0

your cron job will create backup every day 04 AM every minute . your are creating backup every minutes so it may be your backup process take more than 1 minute. change first * to either 0 or some other. if you want to create backup once a day then use

0 04 * * * /home/user/scripts/backup.sh >/dev/null 2>&1

it will create backup everyday 04 AM.

or if you want to create backup every four hour then use like

0 */4 * * * /home/user/scripts/backup.sh >/dev/null 2>&1

no need to add sh. make sure you are giving full path of script.

you can learn more from How do I set up a Cron job? or any other blogs. also make sure you are setting this as a root user. i can't talk about your shell because i don't know what you written in shell.

go through Reasons why crontab does not work this is good explanation to find basic crontab issues. also you can see my answer for some help here

pl_rock
  • 11,715
-1

Try to restart cron service.

/etc/init.d/crond start

and then check your process running or not.