У кожного користувача є своє crontab
.
Щоб побачити його, просто введіть
crontab -l
і, так, ви правильно це бачили, коли ви хочете додати crontab
то, просто зробіть
crontab -e
вперше вас запитають про редактор, з яким можна використовувати crontab
. Як ви, як ви кажете, новачок, я б рекомендував використовувати нано, це найпростіший редактор.
Сам кронтаб працює так
MIN = Minute 0-60
HOUR = Hour [24-hour clock] 0-23
MDAY = Day of Month 1-31
MON = Month 1-12 OR jan,feb,mar,apr ...
DOW = Day of Week 0-6 OR sun,mon,tue,wed,thu,fri,sat
COMMAND = Command to be run Any valid command-line
Отже, наприклад, щоб запускати роботу кожні 15 хвилин лише у понеділок, ви робите це так
*/15 * * * mon /home/me/yourscript.sh
і ТАК це дуже важливо, щоб ви помістили cronjob в crontab користувача, який має достатньо прав для його виконання.
Тож, якщо ваш сценарій має бути root або спеціальний користувач, переконайтеся, що ви користуєтеся цим користувачем, і додайте туди cronjob.
Також дуже важливо!
cronjob німий! Так, я це сказав. Завжди переконайтеся, що ви вводите повний PATH для використовуваних application/command/script
вами, тому що crontab не працюватиме з .bashrc
подібним або подібним. Ви завжди повинні переконатися, що ви скажете cron, де він може знайти файли та каталоги.
Щоб відповісти на всі ваші запитання:
Звичайно, вона працюватиме самостійно, саме для цього і є. Але вам потрібно перевірити, чи справді це працює, або якщо в ньому щось не вистачає. Наприклад, увійдіть у файл реєстрації, щоб побачити, чи справді він працює.
І НІ, перезапуск не потрібен. Перезапуск з Linux зазвичай потрібен лише у випадку встановлення нового ядра. Для його використання вам потрібно перезавантажити. Майже все інше можна зробити без перезавантаження в Linux. Звичайно, є винятки, але загалом це твердження правильне.
crontab -e
дозволяє редагувати крони користувача без sudo. Кронтабули користувачів знаходяться в/var/spool/cron/crontabs
каталозі, до якого не можна отримати доступ без дозволу суперпользователя (але таким чином, що після того, як cron скасує привілеї, його все ще можна прочитати). Навіть якщо ви використовуєте sudo, щоб спробувати редагувати файл безпосередньо, ви бачите велике попередження вгорі: "НЕ редагуйте цей файл" - файл призначений для редагування за допомогоюcrontab
команди, яка використовує тимчасову копію,/tmp
а потім встановлюється. це після збереження.