У меня есть сценарий, который я пытаюсь отлаживать.«set -x» в bash и ksh не производит вывод для задания cron
Скрипт отлично работает из командной строки, но при вызове с теми же аргументами в cron он дает ошибку, связанную с конкретным приложением, о невозможности передачи файлов.
Чтобы отладить проблему, я добавил set -x
во вторую строку сценария. Теперь, когда я запускаю его из командной строки, я получаю много подробного вывода отладки.
Из cron я получаю исходную ошибку, зависящую от приложения, без вывода отладочной информации.
Я попытался изменить линию shebang от #!/bin/ksh
до #!/bin/ksh -x
, и я даже попытался запустить работу cron с /bin/ksh -x /usr/local/bin/theapp
.
У меня нет отладочного вывода.
Я также попытался перенаправить STDERR, добавив 2>&1
к моему заданию cron.
Не хватает ли какой-либо cron-магии для получения отладочного вывода?
UPDATE: @barmar правильно, я отправил свою хрон строку:
*/5 * * * * /bin/bash -x /usr/local/bin/myapp 2>&1
Как это связано с 'bash'? Вы также пытались изменить его из скрипта 'ksh' в скрипт' bash'? – Barmar
Bash и ksh очень похожи. Я написал простой скрипт bash, который будет эхом «hello» и попытался запустить его с -x. Из командной строки это работает, от cron вы не получаете отладочного вывода. –
Вы проверили свой адрес электронной почты? Любой выход, не перенаправленный, будет отправлен вам по почте. – Barmar