Jak uruchomić zadanie CRON na komputerze Mac?

13

Jak zmusić komputer Mac (z najnowszym systemem operacyjnym) do wykonywania zadania automatycznie raz dziennie? Na przykład chciałbym, aby raz dziennie automatycznie pobierała kopię tego podręcznika geometrii algebraicznej typu open source. Mam wrażenie, że jakaś kombinacja wgeta i crona powinna działać, ale po przejrzeniu i przeczytaniu dokumentacji crona po prostu nie mogłem tego zrobić.

David Zureick-Brown
źródło
2
Sugeruję, abyś nie używał Crontab i zamiast tego nauczył się korzystać z Launchd, jak już sugerowano.
Martin Marconcini,

Odpowiedzi:

9

Myślę, że w OS X należy używać launchctldo „zadań cron”.
Ale w przeciwnym razie twoje zadanie powinno być łatwe do wykonania z cronjob
sudo crontab -e
55 23 * * * wget http://www.math.columbia.edu/algebraic_geometry/stacks-git/book.pdf

Powinno to działać codziennie o 23:55

Aktualizacja

Należy określić lokalizację wyjściową WGET za pomocą -O /path/to/file

deiga
źródło
2
Jeśli używasz launchd, zobacz apple.stackexchange.com/questions/3030/…
2
Nie musisz koniecznie sudo. Użytkownicy indywidualni mogą mieć własne crontabs
Doug Harris,
6

Demon cron można aktywować za pomocą prostego:

sudo touch /private/etc/crontab

Następnie wskazane jest podanie pełnej ścieżki do twojego / usr / local / bin / wget (lub gdziekolwiek mieszka). Cron nie wie o $ PATH użytkownika. Mam nadzieję, że to pomoże.


źródło
5

Możesz użyć Cronnix, który jest bezpłatnym interfejsem graficznym dla crona:

http://www.macupdate.com/app/mac/7486/cronnix/

nuc
źródło
1
Cronnix został oficjalnie wycofany z rynku. Może przestać działać poprawnie (lub w ogóle) w najnowszych wersjach systemu macOS.
Andrii Abramov
4

Jeśli uważasz, że składnia wiersza poleceń (itp.) Jest zbyt myląca / tajemnicza, możesz zlokalizować narzędzie GUI do przeglądania / edycji / tworzenia tych zadań.

W przeszłości korzystałem z Lingona , który teraz został udostępniony również w Mac App Store. Nie muszę go używać zbyt często, ale jest to bardzo przydatne, gdy to robię!

robsoft
źródło
1

Bardziej eleganckim rozwiązaniem (niż cron) jest użycie powiadomień iCal + Applescript.

Najpierw uruchom AppleScript Editor (znajduje się w / Application / Utilities) i wklej następujący kod:

set the destination_file to ("~/Downloads/book.pdf")

set the contentLink to "http://www.math.columbia.edu/algebraic_geometry/stacks-git/book.pdf"

tell application "URL Access Scripting"
    download contentLink to destination_file replacing yes
end tell

Zapisz skrypt i zamknij edytor AppleScript.

Otwórz iCal i utwórz nowe wydarzenie na dziś, ustawiając żądany czas, wybierz „powtarzaj: codziennie” oraz jako alarm „Uruchom skrypt” i wybierz swój skrypt jabłkowy.

Jeśli chcesz otrzymywać powiadomienia o każdym pobraniu, możesz dodać kolejny alarm z komunikatem „Wiadomość z dźwiękiem”, „on date”.

nuc
źródło
1

Polecam makaron . Jego zaletą jest to, że jeśli ustawisz uruchamianie zadania raz dziennie, uruchamia się ono za każdym razem, gdy komputer jest włączony, niezależnie od godziny. Więc nie przegapisz pracy, ponieważ komputer był wyłączony o określonej godzinie.

Macaroni to narzędzie, które obsługuje regularną konserwację systemu Mac OS X, w tym proces uprawnień do naprawy systemu Mac OS X, a także konserwację w stylu uniksowym. Możesz to zrobić sam, ale czy nie masz ciekawszych rzeczy do zrobienia ze swoim czasem?

Amorfis
źródło