Я проводил некоторые исследования по планированию задач, а что нет. Я наткнулся на командную функцию crontab.
Является ли crontab файлом, который создается, или это команда?
Если это файл, то сколько может иметь один пользователь? Являются ли они специфичными для пользователя или системы (например, если я создаю задачу с использованием crontab, выполнится ли задача, если в систему войдет другой пользователь?)
Если это команда, то где она выполняется? хранить информацию для выполнения задач?
Если Вы интересуетесь планированием задач как учетная запись обычного пользователя в Ubuntu (т.е. Вы не делаете вещей в масштабе всей системы как корня), то необходимо пропустить все специфические особенности cron
, crontab
, at
, и anacron
.
Вместо этого посмотрите на приложение Запланированных задач, доступное в Ubuntu через Тире Единицы или подобном меню приложений. Это значительно упрощает работу планирования объектов. Существуют некоторые "глюки", связанные с его использованием, но этот путь Вы ничего не должны делать в командной строке.
Например, у меня есть немного резервного сценария, что я выполняю периодически Запланированные задачи использования. (Программа в основном вставляет объекты в Ваш crontab, и т.д.),
Запланированные задачи обеспечивают два различных взглядов. Одно представление упрощено, как это:
Другое представление показывает то, что показал бы crontab:
Один из "глюков" - то, что Ваш нормальный "ПУТЬ" не доступен для определенного запланированного объекта, таким образом, необходимо быть явными о том, какая команда должна быть выполнена.
Так или иначе, детали cron
, crontab
, at
, и anacron
все немного слишком широки для Ubuntu.
Команда 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
могут вас удивить.