Следующий сценарий не работает как cronjob

snailmail.sh

#!/bin/bash
echo "Test" >> /tmp/out
/usr/bin/kdialog --title "MAIL RECIEVED" --msgbox "mail recieved!!"

crontab-e

#CronJobs located in $HOME/cronjobs/*

* * * * * /home/shadyabhi/cronjobs/snailmail.sh

Не crontab корня. Вышеупомянутый сценарий является частью большего сценария. Я не могу запустить следующий скрипт как задание крона. Принимая во внимание, что, когда выполнено как cronjob, только "Тест" добавляется в/tmp/out файл, и kdialog не показывают.

/var/log/crond.log

Oct 14 13:47:01 ArchLinux crond[1552]: FILE /var/spool/cron/shadyabhi USER shadyabhi PID 28844 /home/shadyabhi/cronjobs/snailmail.sh
Oct 14 13:47:01 ArchLinux crond[1552]: exit status 1 from user shadyabhi /home/shadyabhi/cronjobs/snailmail.sh
Oct 14 13:47:01 ArchLinux crond[28846]: mailing cron output for user shadyabhi /home/shadyabhi/cronjobs/snailmail.sh
Oct 14 13:47:01 ArchLinux crond[28846]: unable to exec /usr/sbin/sendmail: cron output for user shadyabhi /home/shadyabhi/cronjobs/snailmail.sh to /dev/null
Oct 14 13:48:01 ArchLinux crond[1552]: FILE /var/spool/cron/shadyabhi USER shadyabhi PID 28853 /home/shadyabhi/cronjobs/snailmail.sh
Oct 14 13:48:01 ArchLinux crond[1552]: exit status 1 from user shadyabhi /home/shadyabhi/cronjobs/snailmail.sh
Oct 14 13:48:01 ArchLinux crond[28855]: mailing cron output for user shadyabhi /home/shadyabhi/cronjobs/snailmail.sh
Oct 14 13:48:01 ArchLinux crond[28855]: unable to exec /usr/sbin/sendmail: cron output for user shadyabhi /home/shadyabhi/cronjobs/snailmail.sh to /dev/null
Oct 14 13:49:01 ArchLinux crond[1552]: FILE /var/spool/cron/shadyabhi USER shadyabhi PID 28858 /home/shadyabhi/cronjobs/snailmail.sh
Oct 14 13:49:01 ArchLinux crond[1552]: exit status 1 from user shadyabhi /home/shadyabhi/cronjobs/snailmail.sh
Oct 14 13:49:01 ArchLinux crond[28860]: mailing cron output for user shadyabhi /home/shadyabhi/cronjobs/snailmail.sh
Oct 14 13:49:01 ArchLinux crond[28860]: unable to exec /usr/sbin/sendmail: cron output for user shadyabhi /home/shadyabhi/cronjobs/snailmail.sh to /dev/null

Помогите мне решающий эту проблему.

1
задан 14.10.2010, 11:19

2 ответа

Задание крона не работает на тех же X сессиях, к которым Вы зарегистрированы, таким образом, это не знает который X-сервер говорить. Когда Вы входите в систему, адрес X-сервера хранится в Вашей переменной среды $DISPLAY. Любой процесс, запущенный из X, будет использовать ту переменную для определения который сервер использовать.

Необходимо найти способ передать адрес соответствующего сервера заданию крона. Это могло бы быть столь же просто как:

DISPLAY=:0 /usr/bin/kdialog --title "MAIL RECIEVED" --msgbox "mail recieved!!" &
3
ответ дан 12.12.2019, 08:15

Задания крона не работают ни в каком виде среды дисплея, таким образом использование любого GUI или приложений TUI в них является обычно несоответствующим. Проверьте почту, отправленную заданием крона за уведомлением об успехе/отказе вместо этого.

3
ответ дан 12.12.2019, 08:15

Теги

Похожие вопросы