Как правильно редактировать файл crontab?

Я пытаюсь автоматизировать обновление awstats для своего веб-сервера и понимаю, что мне нужно использовать cron для его настройки. Таким образом, у каждого пользователя есть файл crontab?

Я следовал инструкциям здесь community / AWStats

И он говорит, чтобы перейти к файлу по адресу: /etc/crontab

Этот файл уже содержит некоторую информацию. Это основной файл crontab или что-то еще? Я видел некоторые инструкции в Интернете, чтобы использовать файл, который появляется с crontab -e.

Как правильно использовать файл и как лучше всего это сделать?

Если я планирую задачу как мой пользователь без полномочий root, будет ли он запускаться сам по себе в указанный промежуток времени без проблем?

Нужно ли будет перезапускать сервер после сохранения задания cron в файле crontab до его запуска? работает?

52
задан 16 April 2015 в 09:49

2 ответа

, Что надлежащий файл должен использовать и лучший способ сделать это?

crontab -e лучший способ сделать это - это позволит Вам легкому редактированию crontabs в расчете на пользователя.

, Если я планирую задачу как свой некорневой пользователь, она будет работать отдельно в то время интервал, как указано без проблем?

Да, и это будет работать с полномочиями той учетной записи пользователя.

Как принцип, лучше выполнять запланированные задачи с самыми низкими полномочиями, которые можно сойти с рук, поэтому если то, что Вы делаете, не потребует корня, не используйте корень. Если Вы не должны даже мочь получить доступ Ваш файлы и папки учетной записи, то можно создать нового пользователя и использовать ту учетную запись пользователя только для той задачи. С другой стороны, если Ваша задача делает , требуют корня, используют crontab корня (su / sudo su для укоренения, затем используют crontab -e).

я должен буду перезапустить сервер после сохранения рабочего места крона в crontab файле, прежде чем это начнет работать?

No это начнет работать немедленно (хорошо, в следующий возможный запланированный раз).

97
ответ дан 16 April 2015 в 19:49

Каждый пользователь имеет свой собственный crontab.

Для наблюдения его просто тип

crontab -l

и да Вы видели его правильный, когда Вы хотите добавить crontab, затем просто делают

crontab -e

впервые, Вас спросят о редакторе для использования с crontab. Поскольку Вы - новичок, как Вы говорите, я рекомендовал бы использовать нано, это - самый простой редактор для использования.

сам 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 пользователя, который имеет достаточно прав выполнить его.

Поэтому, если Ваш сценарий должен быть корнем или специальным пользователем, удостоверьтесь к su тому пользователю и добавьте cronjob там.

Также очень важный!

cronjob является немым! Да я сказал это. Всегда удостоверяйтесь, что ввели полный путь в application/command/script, Вы используете, потому что crontab не будет работать с .bashrc или подобный. Всегда необходимо удостоверяться, что Вы говорите крон, где он может найти файлы и каталоги.

Для ответа на остальную часть вопросов:

, Конечно, это будет работать свой собственный, это - то, для чего это там. Но необходимо проверить, что cronjob действительно делает это, или если это пропускает что-то. Например, войдите в файл журнала, чтобы видеть, работает ли он действительно.

И нет, перезапуск не нужен. Перезапуск с Linux обычно только необходим при установке нового ядра. Чтобы это использовало, необходимо было бы перезагрузить. Почти все остальное может быть сделано без перезагрузки в Linux. , Конечно, существуют исключения, но в целом этот оператор корректен.

43
ответ дан 16 April 2015 в 19:49

Другие вопросы по тегам:

Похожие вопросы: