Назад | Перейти на главную страницу

Как запустить задание cron только один раз?

У меня есть работа, которая с самого начала работает вечно. Поэтому я хочу запускать его только один раз после ввода в файл «crontab -e» и сохранения его (или) всякий раз, когда происходит перезагрузка.

Как этого добиться?

Если вы хотите, чтобы команда запускалась один раз позже используйте at команда.

Если вы хотите, чтобы команда запускалась один раз при загрузке системы правильное решение - использовать:

  • системные сценарии RC (/etc/rc.local)
  • crontab с @reboot специальный префикс (см. справочную страницу)

Последний вариант - единственный вариант для пользователя без полномочий root.

Вы можете использовать at (1) для запуска задания в какой-то момент в будущем. Однако, если вы хотите запустить что-то при загрузке, и оно будет продолжать работать само по себе, может быть, вам нужна запись в /etc/init.d/ для этого? Это позволит вам запустить его при загрузке.

Задание, которое выполняется только один раз и выполняется вечно, пока вы не прикажете ему умереть, называется «демоном». Обычно они запускаются через сценарии инициализации в /etc/init.d/.

Если ваша работа в какой-то момент заканчивается и может считаться разовой работой, то вы можете посмотреть на команду at. Например, если бы я хотел запустить команду find сегодня в 22:00 и только один раз, я бы сделал:

$ at 10PM
at> find /root > /root/find_results.list
at> <EOT>
job 3 at 2010-02-10 22:00

Взгляните на команду at