crontab -e, a następnie 0 * * * * = co godzinę… Gdzie jest przechowywany

14

Po sudo crontab -e (napisał „/tmp/crontab.XXXX70pN9h” 1L, 19C 1,1 Wszystkie

Następnie zapisałem plik. I sprawdzić ...? (jak? nie wiem)

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

Więc .. ale postanowiłem sprawdzić ponownie, ale

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

Nic! tj. w katalogu

Jak rozumiem pierwsze 0 w pozycji godziny oznacza każdą godzinę?

Xsi
źródło
Ok, poczekam godzinę (najsłabsza luka w dokumentacji)
Xsi
Zdecydowanie chcesz sprawdzić moje pytanie. Ma odpowiedź Stephane'a Chazelasa, która wyjaśnia, w jaki sposób można stworzyć interaktywną powłokę identyczną ze środowiskiem, w którym będzie widoczne twoje zadanie cron. Jeśli przejdziesz przez jego małą procedurę, pojawi się monit i możesz przetestować cronjob krok po kroku i zobaczyć, gdzie kończy się niepowodzeniem. unix.stackexchange.com/a/56503/16841 Na pewno nie jest to 100% dopasowanie do twojego pytania, ale może pomóc w rozwiązaniu problemów z crontab.
jippie

Odpowiedzi:

24

Pola w cron to:

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

A 0 * * * * <command>następnie przekłada się na „Wykonuj polecenie co godzinę, każdego dnia, każdego miesiąca i każdego dnia tygodnia, jeśli minuta wynosi 0”

Możesz wyświetlić listę swoich crontab -lcrontabów, używając , jak już wspomniano delh.

Weź ten link tutaj, jest kilka praktycznych przykładów Cron

Bonsi Scott
źródło
data [-u | --utc | --universal] [MMDDhhmm [[CC] YY] [. ss]] to jak, Ale odwrotnie
Xsi
Co to ma wspólnego z cronem?
Bonsi Scott,
9

Twój crontabi cron.hourlysą oddzielnymi podmiotami. Włożenie czegoś do twojego crontabciała nie powoduje, że cron.hourlynawet jeśli działa co godzinę. Wstawianie skryptu cron.hourlyto tylko inny sposób uruchamiania go co godzinę, to znaczy, że crondemon sprawdza zarówno twoje, jak crontab i cron.hourly . Posiadanie go w obu uruchomiłoby go dwukrotnie.

Chris Down
źródło
Pt 9 listopada, 15:16:01 EET 2012 xi @ localhost ~ $ ls /var/log/cron.log ls: nie można uzyskać dostępu do /var/log/cron.log: Brak takiego pliku lub katalogu
Xsi
3

Możesz sprawdzić, czy crontab jest zainstalowany, używając:

sudo crontab -l

Co godzinę powinien pojawiać się komunikat w dzienniku, w /var/log/syslogktórym został wykonany.

Dalsza lektura:

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

Wydaje mi się, że pierwsze zero (0) to minuty. Ale jeśli powiesz, że chcesz coś zrobić, gdy minuty wynoszą 0, będzie to wykonywane co godzinę. Jak tylko raz na godzinę minuty są zerowe.

delh
źródło
1

Jeśli faktycznie szukasz plików cron użytkownika, aby zobaczyć, kiedy zostaną zmienione lub coś w tym rodzaju, można je znaleźć, /var/spool/cron/ale prawdopodobnie nie powinieneś manipulować plikami ręcznie.

Molimo
źródło
Nie tyle chyba nie powinno tak nie powinno . cronDemon nie zauważą zmiany, jeśli edytować pliki bezpośrednio. Zamiast tego użyj crontab -ldo wyświetlenia listy dla bieżącego użytkownika, crontab -edo edycji dla bieżącego użytkownika i / lub dołącz -u {user}również, aby uzyskać dostęp do tego innego użytkownika crontab. Wszystko to jest dobrze zdefiniowane na stroniecrontab podręcznika dla .
roaima
Uważam, że istnieją sposoby cronautomatycznego sprawdzania plików pod kątem zmian, jeśli naprawdę musisz je zaktualizować ręcznie.
Molimo
Jeśli musisz zaktualizować je ręcznie, skorzystaj z crontabinterfejsu; po to jest. W przeciwnym razie będziesz musiał zatrzymać i zrestartować crondemona.
roaima