У кожного користувача є своє 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а потім встановлюється. це після збереження.