Jak skonfigurować zadanie CRON w systemie OS X, aby codziennie uruchamiać polecenie curl o określonej godzinie?


20

Mam polecenie CURL, które chcę uruchamiać codziennie o 3 rano, ale nie jestem pewien, jak to skonfigurować, a wszystkie przewodniki są dziwne.

Załóżmy, że mam dużo doświadczenia z terminalem / bash, ale nigdy wcześniej nie konfigurowałem crona.

Czy możliwe jest, aby cron przebudził mój komputer, nawet jeśli śpi, a pokrywa jest zamknięta (MacBook Pro), wystarczy uruchomić to polecenie curl, a następnie ponownie go uśpić?

Jak skonfigurować to w obu przypadkach?

Odpowiedzi:


22

Zacznij od uruchomienia polecenia:

crontab -e

Otworzy to crontab dla twojego użytkownika w edytorze tekstu. Cron używa określonej notacji dla zaplanowanych zadań. Poniższy format pokazuje pola dla wpisu pliku crontab użytkownika (które muszą być oddzielone tabulatorami).

min  hour  day_of_month  month  day_of_week  command

Aby zaplanować uruchamianie polecenia curl codziennie o 3 nad ranem, możesz wstawić wiersz:

0  3  *  *  *  curl args...

Zauważ, że minuty i godziny odpowiadają 3 nad ranem (uwaga: cron używa 24-godzinnego formatu czasu, bez rano i po południu). Następujące gwiazdki oznaczają każdy dzień miesiąca, każdego miesiąca, każdego dnia tygodnia.

Cron nie będzie w stanie obudzić twojego komputera ze snu, ale ten post może ci pomóc w przebudzeniu osx ze snu


1
Kiedy to crontab -ewidzę, widzę to w moim terminalu:, $ crontab -e crontab: no changes made to crontaba następnie otwiera mój edytor tekstowy z plikiem crontab.some-random-stringz folderu /tmp. Po jego edycji i zapisaniu nic się nie dzieje w moim terminalu. Jeśli to zrobię crontab -l, praca, którą właśnie podałem, się nie pojawi. Następnie, jeśli zrobię to crontab -eponownie, otwiera kolejny pusty crontab.some-random-string. Przetestowałem również pierwszy zapisany plik crontab, ustawiając czas na 2 minuty od momentu zapisania go i cron nigdy nie biegł. Co może się dziać?
marcamillion

Który edytor tekstu otwiera się po uruchomieniu „crontab -e”?
diametralpitch

Moja domyślna, atom. To się uruchamia, gdy otwieram wszystko, co można edytować w moim terminalu. To jest to, co mam w ~/.bash_profile, export EDITOR='open -a "/Applications/Atom.app"'.
marcamillion

Hmm, jeśli uruchamiasz atom samodzielnie z wiersza poleceń, czy czeka on na zamknięcie atomu przed monitowaniem o kolejne polecenie (jeśli nie, możesz spróbować użyć innego edytora tekstu).
Adam Luchjenbroers

@AdamLuchjenbroers Nie jestem pewien, czy w pełni rozumiem twoje pytanie. Korzystam z atomu do wszystkich edycji kodu. Więc jeśli chcę edytować dowolny plik, po prostu robię to atom .w katalogu lub atom <filepath>.
marcamillion

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.