Как выполнить команду в cronjob для отображения вывода в терминале

Наконец, я обнаружил, что первопричина заключается в одном программном обеспечении для частной безопасности, которое было разработано нашими командами разработчиков Grovement. В программе есть одна панель управления, позволяющая отключить контроль безопасности файла / etc / passwd, после чего я могу его отредактировать.

2
23.11.2016, 09:20
3 ответа

Вы не можете этого сделать.

Все задания cron выполняются в неинтерактивных оболочках, терминальное подключение отсутствует. Следовательно, концепция / dev / tty или аналогичная недоступна в cron .

5
27.01.2020, 21:54

Грязным способом может быть перенаправление вывода вашей программы в файл pts уже существующего терминала.

Чтобы узнать файл pts, просто введите команду tty

~$ tty  
/dev/pts/19

, тогда ваш crontab будет выглядеть так:

* * * * * /usr/local/scripts/script.sh > /dev/pts/19
3
27.01.2020, 21:54

Вы можете ввести команду в crond следующим образом:

*/2 * * * root /bin/ping xx.xx.xx.xx | tee ~/my_output_from_crond.log

В клеммном типе:

touch ~/my_output_from_crond.log
tail -f ~/my_output_from_crond.log

Теперь просто подождите, пока не запустится команда

0
27.01.2020, 21:54

Теги

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