Друзья приветствую.
Не могу понять почему по cron не отрабатывается вот такой скипт:
Задание cron
[root@1c-server postgres]# crontab -l
*/5 * * * * root /root/service_skripts/backup_skript
Сам скрипт:
#!/bin/bash
date=`date +%Y%m%d`
/usr/bin/sudo -i -u postgres /usr/bin/pg_dump buhtest | /bin/gzip > /backup/user_backups/postgres/postgres.buhtest.$date.gzПри этом просто путем запуска из-под root все ок.
Спасибою
crond запущен?
в логах что?
> crond запущен?
> в логах что?Да, конечно, crond запущен, в логах инфа, что скрипт выполняется)Это я в первую очередь проверил
[root@1c-server vpnusers]# service crond status
crond (pid 2152) is running...Oct 11 20:40:01 1c-server CROND[21266]: (root) CMD (root /root/service_skripts/backup_skript)
Oct 11 20:45:01 1c-server CROND[21312]: (root) CMD (root /root/service_skripts/backup_skript)
Oct 11 20:50:01 1c-server CROND[21356]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Oct 11 20:50:01 1c-server CROND[21357]: (root) CMD (root /root/service_skripts/backup_skript)
Oct 11 20:55:01 1c-server CROND[21405]: (root) CMD (root /root/service_skripts/backup_skript)Даже не понимаю, в чем может быть дело... полные пути уже выставил
> Даже не понимаю, в чем может быть дело... полные пути уже выставилMAILTO=nospam@thank.you в расписании пропишите - весь вывод от скриптов придёт.
env > /tmp/env.txt
и сравните с env консольным с цельлю лпределить чего ему не хватает
>> Даже не понимаю, в чем может быть дело... полные пути уже выставил
> MAILTO=nospam@thank.you в расписании пропишите - весь вывод от скриптов придёт.
> env > /tmp/env.txt
> и сравните с env консольным с цельлю лпределить чего ему
> не хватаетСпасибо за наводочку, увидел, что почему-то шелл не bash, а sh, сейчас буду наблюдать
>>> Даже не понимаю, в чем может быть дело... полные пути уже выставил
>> MAILTO=nospam@thank.you в расписании пропишите - весь вывод от скриптов придёт.
>> env > /tmp/env.txt
>> и сравните с env консольным с цельлю лпределить чего ему
>> не хватает
> Спасибо за наводочку, увидел, что почему-то шелл не bash, а sh, сейчас
> буду наблюдатьПоставил
[root@1c-server user_backups]# crontab -l
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
*/5 * * * * root /root/service_skripts/backup_skript
..
но что-то не помогло
>[оверквотинг удален]
>> Спасибо за наводочку, увидел, что почему-то шелл не bash, а sh, сейчас
>> буду наблюдать
> Поставил
> [root@1c-server user_backups]# crontab -l
> SHELL=/bin/bash
> PATH=/sbin:/bin:/usr/sbin:/usr/bin
> MAILTO=root
> */5 * * * * root /root/service_skripts/backup_skript
> ..
> но что-то не помоглоДо того как установил команду в скрипт, команда была в кроне и ошибка была следующая
/bin/sh: -c: line 0: unexpected EOF while looking for matching `)'
/bin/sh: -c: line 1: syntax error: unexpected end of fileно выглядела немного по другому:
01 03 1 * * /usr/bin/sudo -i -u postgres /usr/bin/pg_dump buhtest | /bin/gzip > /backup/user_backups/postgres/postgres.buhtest.month.$(date +%Y%m%d).gz > /dev/nullсейчас вообще логи в почту root перестали сыпаться
> [root@1c-server postgres]# crontab -l
> */5 * * * * root /root/service_skripts/backup_skriptюзера убери чудило. Он только для системного кронтаба который в /etc/crontab
>> [root@1c-server postgres]# crontab -l
>> */5 * * * * root /root/service_skripts/backup_skript
> юзера убери чудило. Он только для системного кронтаба который в /etc/crontabсам пришел к этому, можно и без оскорблений обходиться.