Uwaga: to pytanie nie dotyczy tego, jak edytować kartę cron, ale jak sprawić, by cron działał
- Edytowałem mój cron za pomocą
env EDITOR=joe crontab -e
- Wszedłem
1 * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txt
i nic nie robi, chociaż cron jest poprawnie skonfigurowany . Sprawdzone przez Cronnix i obejrzane cron w / var / cron / tabs. Edycja crontab za pomocą Cronnix daje te same wyniki.
Jeśli uruchomię echo 'test' > /Users/radek/Backup/rationalvmware/test.txt
ręcznie, tworzy pliki zgodnie z oczekiwaniami, więc zakładam, że polecenie, które przekazuję cronowi, jest prawidłowe.
Czy jest coś specjalnego, co muszę zrobić, aby cron działał na OSX? Jak mogę to sprawdzić, cron działa?
Jaki jest odpowiednik / var / log / messages w OSX? Widzę w wiadomościach na SuSE, że cron działa.
cron
działa w innym środowisku niż twoje własne polecenie testowe. Na przykład: często możesz potrzebować ścieżek bezwzględnych.Odpowiedzi:
Wątpię, czy czekałeś na test do 1 minuty po godzinie. Aby uruchomić co minutę:
źródło
0-59 * * * * osascript -e "display notification \"$(date)\" with title \"Cron test\""
Narzędzie cron jest uruchamiane przez uruchomienie, gdy widzi istnienie
/etc/crontab
lub pliki/usr/lib/cron/tabs
. Nie powinno być potrzeby uruchamiania go ręcznie . (Zobacz strony podręcznika ).Aby wyświetlić dzienniki systemu OS X, możesz użyć Narzędzia konsoli.
źródło
/private/var/at/tabs/
:, FYIMożna użyć dwóch innych sposobów:
lub
Oba działają co minutę.
źródło
Po pierwsze, musisz ustawić
$EDITOR
zmienną na coś rozsądnego, ponieważ to, co zrobiłeś, ustawiło na coś, czego nie chcesz. Ustaw to w ten sposób:Możesz przejść
joe
do innego edytora tekstu, takiego jaknano
lubvim
.Następnie zechcesz edytować swój plik
crontab
, który odbywa się w następujący sposób:Następnie umieścisz tekst
cron
do użycia.źródło
joe
którego nie można by użyć. Kluczem jest to, żecrontab -e
jest używany.Jeśli chcesz użyć crona na Mountain Lion, powinieneś zajrzeć tutaj: https://coderwall.com/p/ry9jwg lub po prostu otworzyć terminal i uruchomić
sudo touch /etc/crontab
. Następnie twoje zadania w / usr / lib / cron / tabs powinny być obsługiwane przez cron.źródło