i have a problem, executing my script by crontab on a qnap nas. it is very confusing, because other test scripts work AND executing this script manually works, too.
here is the script:
#!/bin/sh
[[ ! -d /mnt/backup-cr/daily.0 ]] && mount -t nfs -o nolock 192.168.178.2:/volume1/backup-cr /mnt/backup-cr
#1
[[ -d /mnt/backup-cr/daily.7 ]] && rm -rf /mnt/backup-cr/daily.7
#2
[[ -d /mnt/backup-cr/daily.6 ]] && mv /mnt/backup-cr/daily.6 /mnt/backup-cr/daily.7
[[ -d /mnt/backup-cr/daily.5 ]] && mv /mnt/backup-cr/daily.5 /mnt/backup-cr/daily.6
[[ -d /mnt/backup-cr/daily.4 ]] && mv /mnt/backup-cr/daily.4 /mnt/backup-cr/daily.5
[[ -d /mnt/backup-cr/daily.3 ]] && mv /mnt/backup-cr/daily.3 /mnt/backup-cr/daily.4
[[ -d /mnt/backup-cr/daily.2 ]] && mv /mnt/backup-cr/daily.2 /mnt/backup-cr/daily.3
[[ -d /mnt/backup-cr/daily.1 ]] && mv /mnt/backup-cr/daily.1 /mnt/backup-cr/daily.2
#3
[[ -d /mnt/backup-cr/daily.0 ]] && cp -al /mnt/backup-cr/daily.0 /mnt/backup-cr/daily.1
#4
bakdate=$(date +%Y%m%d%H%M)
/usr/bin/rsync -av \
--stats \
--delete \
--human-readable \
--log-file=/mnt/backup-cr/logs/rsync-cr.$bakdate.log \
/share/cr/ \
/mnt/backup-cr/daily.0 \
MAILFILE=rsync-cr.$bakdate.log.tmp
echo "Subject: rsync-log for cr from srv" > $MAILFILE
echo "To: x@x.com" >> $MAILFILE
echo "From: y@y.com" >> $MAILFILE
echo "" >> $MAILFILE
/usr/bin/tail -13 /mnt/backup-cr/logs/rsync-cr.$bakdate.log >> $MAILFILE
echo "" >> $MAILFILE
echo "" >> $MAILFILE
cat $MAILFILE | ssmtp x@x.com
rm $MAILFILE
And here is my crontab entry:
15 0 * * * /share/CACHEDEV1_DATA/.scripts/backup.sh
The script has the executable-flag, and as I said other scripts within the same folder works.
Does someone has an idea? Because if this works manually on QNAP and also works in crontab on another UBUNTU server, then I think I am getting dumb and paranoid :-)