HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials

HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials (http://www.howtoforge.com/forums/index.php)
-   Programming/Scripts (http://www.howtoforge.com/forums/forumdisplay.php?f=7)
-   -   Crontab does not run script? (http://www.howtoforge.com/forums/showthread.php?t=53941)

fweijers 28th August 2011 09:09

Crontab does not run script?
 
Hi
I have got 2 NAS devices and I want to set up a nightly rsync backup from NAS1 to NAS2.

On NAS1 I have the rsync script working fine if I start it from command line.
(> /ffp/bin/snapshotMYBOOKWORLD.sh)
No problems with ssh password etc.

However, if I run the script via a crontab entry, I get rsync errors.
What causes the script to fail?:confused:

This is the rsync error I get
20110828_040508
rsync: Failed to exec ssh: No such file or directory (2)
rsync error: error in IPC code (code 14) at pipe.c(84) [sender=3.0.5]
rsync: writefd_unbuffered failed to write 4 bytes [sender]: Broken pipe (32)
rsync error: error in IPC code (code 14) at io.c(1509) [sender=3.0.5]
20110828_040509
This is my crontab:
root@DLINK:~# crontab -l
32 2 * * * /usr/sbin/rtc -s
30 2 2 * * /usr/sbin/rtc -c
59 1 * * * /usr/sbin/daylight &
5 2 * * * /ffp/bin/snapshot.sh
5 2 * * * /ffp/bin/snapshot.sh
5 4 * * * /ffp/bin/snapshotMYBOOKWORLD.sh
root@DLINK:~#
This is the backupscript
root@DLINK:~# ls -l /ffp/bin/snapshotMYBOOKWORLD.sh
-rwxrwxrwx 1 root root 806 Aug 21 11:56 /ffp/bin/snapshotMYBOOKWORLD.sh
Hope someone can help me!:)
Regards
Frank

falko 29th August 2011 16:16

Do you use full paths in your script?

fweijers 29th August 2011 22:00

Not sure I use full paths ...

The funny thing is that the script runs fine when started from command line, but not when started via Crontab.

This is the backupscript:
# Set Source Path
# Back up the A drive (HD_a2) by identifying the source path as /mnt/HD_a2
# Back up multiple directories by surrounding a list with single quotes (i.e., s
# srcpath='/mnt/HD_a2/VIDEO /mnt/HD_a2/DOCUMENTEN /mnt/HD_a2/FOTOS /mnt/HD_a2/CO
srcpath='/mnt/HD_a2/DOCUMENTEN /mnt/HD_a2/VIDEO /mnt/HD_a2/FOTOS'

# Set the Destination Path
dstpath=root@192.168.178.100:/shares/internal/BACKUPNAS

ffppath=/ffp

datum=`date "+%Y%m%d_%H%M%S"`
echo $datum >> $ffppath/log/snapshotMYBOOKWORLD.log 2>&1

$ffppath/bin/rsync -av $srcpath $dstpath >> $ffppath/log/snapshotMYBOOKWORLD.log

datum=`date "+%Y%m%d_%H%M%S"`
echo $datum >> $ffppath/log/snapshotMYBOOKWORLD.log 2>&1

falko 30th August 2011 11:10

You could use the full path for the date command (for example /bin/date). You can find that out by running
Code:

which date
Do the same for the echo command.

fweijers 1st September 2011 06:55

Got it solved!

The cause was indeed the paths.
I changed the rsync command into this and it works like a charm.

$ffppath/bin/rsync -av -e /ffp/bin/ssh $srcpath $dstpath >> $ffppath/log/snapshotMYBOOKWORLD.log 2>&1

Thanks for the hint!:D

fweijers 1st September 2011 07:02

By the way, one less important thing i cant explain....

The crontab - l shows this:
root@DLINK:~# crontab -l
32 2 * * * /usr/sbin/rtc -s
30 2 2 * * /usr/sbin/rtc -c
59 1 * * * /usr/sbin/daylight &
5 2 * * * /ffp/bin/snapshot.sh
5 2 * * * /ffp/bin/snapshot.sh
5 4 * * * /ffp/bin/snapshotMYBOOKWORLD.sh

As you can see /ffp/bin/snapshot.sh is started twice ... how can this be?

Crontab is configured using this script:
#!/bin/sh

CRONTXT=/mnt/HD_a2/crontab.txt

# start with existing crontab
/bin/crontab -l > $CRONTXT

# add the Rsync job to execute at 2:00 am
/bin/echo "5 2 * * * /ffp/bin/snapshot.sh" >> $CRONTXT
/bin/echo "5 4 * * * /ffp/bin/snapshotMYBOOKWORLD.sh" >> $CRONTXT

# install the new crontab
/bin/crontab $CRONTXT

# clean up
/bin/rm $CRONTXT


falko 2nd September 2011 14:18

Maybe the script was run twice. You can remove one of the two cronjobs by running
Code:

crontab -e

fweijers 2nd September 2011 21:48

Thanks,

crontab -e gives a kind of vi script which allows to delete one of the entries.

Done deal! ;)

So I've got an rsync backup solution up and runnning to a seperate device, which keeps my data super safe.:cool:


All times are GMT +2. The time now is 02:56.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.