crontab -e, то 0 * * * * = щогодини… Де зберігається


14

Після sudo crontab -e (він написав "/tmp/crontab.XXXX70pN9h" 1L, 19C 1,1 Усі

Потім я зберегла файл. І перевірити ..? (як? я не знаю)

And to check I 
ps -e | grep cron
29818 ?        00:00:00 cron

Так .. але я вирішив перевірити ще раз, але

sudo cat /etc/cron.hourly
cat: /etc/cron.hourly: Is a directory
xi@localhost ~ $ sudo ls /etc/cron.hourly

Нічого! тобто в каталозі

Як я розумію, перший 0 у положенні годин означає кожну годину?


Гаразд, я зачекаю годину (найменший розрив у документації)
Xsi

Ви обов'язково хочете перевірити моє питання. У ньому є відповідь Стефана Шазеласа, який пояснює, як ви можете створити інтерактивну оболонку, ідентичну середовищу, яку бачитиме ваша робота. Якщо ви пройдетеся через його маленьку процедуру, ви отримаєте підказку і зможете випробувати крок за кроком крок за кроком і побачити, де вона провалюється. unix.stackexchange.com/a/56503/16841 Впевнений, що це не 100% відповідність вашому запитанню, але це може допомогти вам вирішити проблеми із кронабтом.
jippie

Відповіді:


24

Поля в кроні:

m      h       dom             mon     dow          command
Minute Hour    Day of Month    Month   Day of week  <command>

А 0 * * * * <command>потім перекладається як "Виконати команду щогодини, кожного дня, кожного місяця та кожного будня, якщо хвилина дорівнює 0"

Ви можете перелічити свій crontab, скориставшись crontab -l, як уже було зазначено.

Перейдіть за цим посиланням тут, є кілька практичних прикладів Cron


дата [-u | --utc | --universal] [MMDDhhmm [[CC] YY] [. ss]] це як, але візово навпаки
Xsi

Що це стосується крона?
Бонсі Скотт

9

Ваші crontabі cron.hourlyє окремими утвореннями. Поклавши щось у своє, crontabце не вкладає його cron.hourly, навіть якщо воно працює щогодини. Введення сценарію cron.hourly- це просто інший спосіб його запуску щогодини, тобто ваш cronдемон перевіряє і ваше, crontab і cron.hourly . Якщо він буде в обох, то запустив би його двічі.


Пт 9 листопада 15:16:01 EET 2012 xi @ localhost ~ $ ls /var/log/cron.log ls: не вдається отримати доступ до /var/log/cron.log: такого файлу чи каталогу немає
Xsi

3

Ви можете перевірити, чи встановлено crontab за допомогою:

sudo crontab -l

Кожну годину повинно з’являтися повідомлення журналу про /var/log/syslogте, що воно було виконане.

Подальше читання:

http://www.linuxweblog.com/crotab-tutorial

Я думаю, що перший нуль (0) - це хвилини. Але якщо ви скажете, що хочете, щоб щось було зроблено, коли хвилин 0, воно виконується щогодини. Як тільки раз на годину хвилини дорівнюють нулю.


2

Ви можете просто запустити крон за допомогою наступного підручника

http://answergig.com/48/please-provide-some-linux-cron-job-examples?show=48#q48

0 * * * *  /path

1
Зазвичай нам не дуже подобаються лише відповіді на посилання, тому що посилання можуть вмирати з часом. Чи можете ви відтворити, можливо, основні кроки пов’язаної сторінки?
Бернхард

1

Якщо ви насправді шукаєте файли cron користувачів, щоб побачити, коли він змінений або щось подібне, його можна знайти, /var/spool/cron/але ви, ймовірно, не повинні маніпулювати файлами вручну.


Не так багато, мабуть, не повинно, як і не повинно . cronДемон не помітить зміни при редагуванні файлів безпосередньо. Натомість використовуйте crontab -lдля переліку поточного користувача, crontab -eдля редагування для поточного користувача та / або включення -u {user}для доступу до цього іншого користувача crontab. Це все добре визначено на сторінці man дляcrontab .
roaima

Я вважаю, що є способи cronавтоматичної перевірки файлів на наявність змін, якщо вам дійсно потрібно оновити їх вручну.
Будь ласка,

Якщо вам потрібно оновити їх вручну, тоді використовуйте crontabінтерфейс; ось для чого це. Інакше вам доведеться зупинитися і перезапустити cronдемон.
roaima
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.