У каждого пользователя есть свое crontab.
Чтобы увидеть это просто введите
crontab -l
и, да, вы видели это правильно, когда вы хотите добавить, а crontabзатем просто сделать
crontab -e
Впервые вас спросят о редакторе для использования crontab. Поскольку вы новичок, как вы говорите, я бы порекомендовал использовать nano, это самый простой в использовании редактор.
Сам 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 или специальным пользователем, убедитесь, что su для этого пользователя и добавьте туда cronjob.
Также очень важно!
Кронджоб тупой! Да, я сказал это. Обязательно вводите полный PATH для того, который application/command/scriptвы используете, потому что crontab не будет работать с .bashrcили подобным. Вы всегда должны убедиться, что сообщаете cron, где он может найти файлы и каталоги.
Чтобы ответить на остальные ваши вопросы:
Конечно, он будет работать сам по себе, вот для чего он. Но вы должны проверить, что cronjob действительно делает это, или если он что-то упустил. Например, войдите в файл журнала, чтобы увидеть, действительно ли он работает.
И НЕТ, перезагрузка не нужна. Перезагрузка с Linux обычно требуется только в том случае, если вы устанавливаете новое ядро. Чтобы использовать его, вам нужно перезагрузить компьютер. Почти все остальное можно сделать без перезагрузки в Linux. Конечно, есть исключения, но в целом это утверждение верно.
crontab -eпозволяет редактировать ваш пользовательский crontab без sudo. Пользовательские crontabs находятся в/var/spool/cron/crontabsкаталоге, к которому нельзя получить доступ без разрешения суперпользователя (но таким образом, что, когда cron откажется от привилегий, он все равно сможет его прочитать). Даже если вы используете sudo, чтобы попытаться отредактировать файл напрямую, вы увидите большое предупреждение вверху: «НЕ РЕДАКТИРОВАТЬ ЭТОТ ФАЙЛ» - файл предназначен для редактирования с помощьюcrontabкоманды, которая использует временную копию/tmpи затем устанавливает это после сохранения.