Экземпляры 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.