Теперь я хочу использовать Резервное копирование и Каждый раз, когда драгоценный камень к автоматическому резервному копированию моя база данных. Когда я подключаю сервер ssh, поскольку добавленный пользователь для выполнения резервного копирования выполняет-t my_backup, это работает хорошо. Но файл крона:
0 22 * * * /bin/bash -l -c 'backup perform -t my_backup'
не может работать в 22:00. Когда я использую кошку/etc/crontab, проверяют файл конфигурации крона, это:
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 )
#
/bin/bash и/bin/sh отличаются. Какова причина? Как сделать?
Наиболее распространенная вещь, с которой я сталкиваюсь с кроном, не выполняющим что-то, состоит в том, который без MAILTO установил, если команда произведет выходной крон, то сразу остановит его. Или возможно это пытается записать в stdout и встречается с SIGPIPE. Не уверенный точный механизм.
Добавляют MAILTO=<your email address>
и дают этому попытку. С другой стороны, запишите и stdout и stderr к файлу журнала путем добавления >>/var/log/backup 2>&1
к крону, выравнивают Вас, уже имеют.
crontab является файлом конфигурации. Почему бы не отредактировать его и изменение sh для избиения?
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin