Например, я могу записать stderr
один скрипт таким образом:
* * * * * run_script.sh > /var/log.txt 2>&1
Но я хочу записать stderr
все скрипты в моем crontab. Я могу добавить > /var/log.txt 2>&1
ко всем сценариям, но это плохо, если у меня есть сотни сценариев cron
. Есть ли другой, более простой способ сделать это?
logs
io-redirection
cron
Маслов Антон
источник
источник
Поскольку он использует локальную почту, вам действительно не нужно ничего настраивать, или, может быть, просто установить mailx, если он еще не здесь. Cron отправит вам вывод, вы можете сохранить почту в файл и делать оттуда многое. Попытка изменить то, как работает cron, в соответствии с вашими потребностями, не является подходящим способом. Если вы так не думаете, просто исправьте и пересоберите cron, назовите его my_cron и используйте его вместо cron. И будьте готовы в конечном итоге обновлять ваш my_cron и часто его перестраивать.
Добавьте это в начале всех ваших сценариев, чтобы записывать все и останавливаться на первой ошибке
источник
> /var/log/YOUR_LOG_FILE 2>&1
т.е. сначала перенаправить стандартный вывод в файл и только затем перенаправить стандартный вывод на стандартный вывод (который теперь указывает на файл).Сценарий Райана Йе по адресу /programming//a/7145618/20774 также полезен для этого, хотя он выполняет как stdout, так и stderr.
источник