Экземпляры Crontab

Я проводил некоторые исследования по планированию задач, а что нет. Я наткнулся на командную функцию crontab.

Crontab - это файл, который создается или это команда?

Если это файл, то сколько может иметь один пользователь? Являются ли они специфичными для пользователя или системы (например, если я создаю задачу с помощью crontab, выполнится ли задача, если в систему войдет другой пользователь?)

Если это команда, где хранится информация для выполнения задач?

2 ответа

Команда crontab -e создаст файл, но вам не нужно знать об этом и никогда не следует редактировать его вручную.

man crontab показывает различные варианты, наиболее важными из которых являются:

  • crontab -e редактировать
  • crontab -l список

Обратите внимание, что ваша среда как задание cron сильно отличается от той, к которой вы привыкли в интерактивной оболочке. Проще всего проверить это, установив задание cron следующим образом:

* * * * * set > /tmp/environment.log

# | | |  \day of week    0-7 (0 or 7 is Sun, or use names)
# | |  \--month          1-12 (or names, see below)
# |  \----day of month   1-31
#  \------hour           0-23
#\--------minute         0-59

Синтаксис самого crontab проверяется man 5 crontab,

Затем подождите минуту и ​​снова удалите cronjob, потому что в противном случае это бессмысленное задание будет выполняться каждую минуту.

Затем проверьте разницу между интерактивной оболочкой (просто введите set) и cronjob (просто введите cat /tmp/environment). Особенно PATH а также SHELL может удивить вас.

Если вы заинтересованы в планировании задач как обычной учетной записи пользователя в Ubuntu (то есть вы не выполняете общесистемные действия от имени пользователя root), вам следует пропустить все особенности cron, crontab, at, а также anacron,

Вместо этого посмотрите на приложение " Запланированные задачи", доступное в Ubuntu через Unity Dash или аналогичное меню приложений. Это значительно упрощает работу по планированию предметов. Есть некоторые "ошибки", связанные с его использованием, но таким образом вам не нужно ничего делать в командной строке.

Например, у меня есть небольшой скрипт резервного копирования, который я периодически запускаю, используя запланированные задачи. (Программа в основном вставляет элементы в ваш crontab и т. Д.)

Запланированные задачи обеспечивают два разных представления. Один вид упрощен, например так:

введите описание здесь

Другое представление показывает, что будет показывать crontab:

введите описание здесь

Один из "уловок" заключается в том, что ваш обычный "ПУТЬ" недоступен для определенного запланированного элемента, поэтому вам необходимо четко указать, какую команду нужно запустить.

Во всяком случае, детали cron, crontab, at, а также anacron все слишком широки, чтобы быть специфичными для Ubuntu.

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