Доброго времени суток!
Стоит задача резервирования БД firebird и папки с Perl скриптами. Исходя из документации и информации на форуме написал скрипт, который выполняет необходимые операции. При запуске скрипта из консоли вручную, все корректно отрабатывает. При настройке задания в cron скрипт не выполняется, либо выполняется не корректно. Ниже привожу текст скрипта и свои действия.
Все действия выполнял от имени суперпользователя
sudo -s
Версия системы:
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
Скрипт резервного копирования:
#!/bin/bash
#Declare variables
cur_date=$(date +%F-%H:%M)
db_output=db-$cur_date.fbk.gz
scr_output=scr-$cur_date.tar.gz
#Backup db
/usr/bin/gbak -b -v -user 'SYSDBA' -pass 'masterkey' "localhost:/media/hdd2/app/db/base.fdb" /dev/stdout | gzip > /media/hdd2/backup/db/$db_output
#Backup scripts folder
tar -czPf /media/hdd2/backup/scripts/$scr_output /media/hdd2/app/scripts
#Copy backup files to shared folfer
cp -f /media/hdd2/backup/db/$db_output /media/netdisk/remote_backup/db
cp -f /media/hdd2/backup/scripts/$scr_output /media/netdisk/remote_backup/scripts
#Delete old files
cd /media/hdd2/backup/db && ls -t | tail -n+8 | xargs -i rm '{}'
cd /media/hdd2/backup/scripts && ls -t | tail -n+8 | xargs -i rm '{}'
cd /media/netdisk/remote_backup/db && ls -t | tail -n+8 | xargs -i rm '{}'
cd /media/netdisk/remote_backup/scripts && ls -t | tail -n+8 | xargs -i rm '{}'
Содержимое crontab (таймер выполнять каждую минуту установлен для проверки):
SHELL=/bin/bash
MAILTO=user
PATH=/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin
#
*/1 * * * * /usr/local/sbin/app_backup.sh >> /dev/null 2>$1
Так же пробовал вносить изменения в системный Cron:
#
/etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
*/1 * * * * /usr/local/sbin/app_backup.sh >> /dev/null 2>$1
Демон cron запущен:
ps -ef | grep cron
root 1029 1 0 Jan27 ? 00:00:00 cron
root 26896 2149 0 10:07 pts/0 00:00:00 grep --color=auto cron
В syslog есть записи о выполнении задания cron:
cat /var/log/syslog | grep "CRON"
...
Jan 28 10:09:01 tst-serv CRON[26944]: (root) CMD (/usr/local/sbin/app_backup.sh > /dev/null 2>$1)
...
Подскажите, в чем может быть проблема и где еще можно посмотреть ошибки выполнения?
Спасибо.