Понимание вывода Cron

У меня проблемы с пониманием вывода cron . Предположим, у меня есть задание cron, которое выполняется каждые пять минут:

*/5 * * * * root /home/user/Desktop/shell.sh

shell.sh имеет следующее содержимое:

#!/bin/bash
echo "hello"
bash -i

У меня есть следующие вопросы:

  1. Где выполняется задание? Например. запускается ли новый процесс TTY там, где выполняется сценарий оболочки?

  2. Куда отправляются выходные данные? Читал, что вывод отправляется на почту хозяину. Означает ли это, что root получает письмо с оператором echo ?

  3. А как насчет команды bash ? Запускает ли сценарий процесс bash в своем управляющем сеансе терминала, который продолжает работать до завершения сеанса терминала (в конце сценария?)?

  4. Предположим, я отменил код оболочки в приведенном выше сценарии bash и запустил nc слушатель на моем компьютере. Будет ли это означать, что каждые 5 минут я буду получать соединение, которое закрывается, как только сценарий завершает работу?

Приношу извинения за многочисленные вопросы. Я новичок в этом. Спасибо.

1
задан 6 August 2021 в 20:10

1 ответ

crontab не совсем похож на классическую оболочку.

  1. Задание выполняется от имени пользователя root, но без TTY. Команда запускается в неинтерактивной среде, поэтому bash -i , вероятно, возвращает ошибку или просто закрывается после выполнения.

  2. Вывод обычно пересылается по почте. Ubuntu обычно поставляется с очень минимальной почтовой системой под названием exim4 . Посмотрите, существует ли файл / var / mail / <ваше имя пользователя> . Вы можете попробовать читать почту с помощью:

     mail -u <ваше имя пользователя> 
     
  3. Поскольку ваш сценарий начинается с #! / Bin / bash , bash ] будет использоваться, но это не запускается ни в каком терминале. Если ваш сценарий не содержит цикла, процесс завершается в конце сценария.

  4. Я не уверен, что понимаю вариант использования с nc , но если вы запустите nc из crontab , чтобы подключиться и отправить сообщение на свой компьютер , nc и bash завершатся, как только команда будет выполнена.

0
ответ дан 20 August 2021 в 10:29

Другие вопросы по тегам:

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