Come posso eseguire un cron job su un Mac?


12

Come posso fare in modo che il mio Mac (che esegue il sistema operativo più recente) esegua un'attività automaticamente una volta al giorno? Ad esempio, vorrei farlo scaricare automaticamente una copia di questo libro di testo di geometria algebrica open source una volta al giorno. Ho la sensazione che una combinazione di wget e cron dovrebbe funzionare, ma, dopo aver cercato su Google e letto la documentazione di cron, non sono riuscito a farlo funzionare correttamente.


2
Ti suggerisco di non usare Crontab e di imparare invece ad usare Launchd come già suggerito.
Martin Marconcini,

Risposte:


9

Penso che in OS X dovresti usare launchctlper "cron jobs".
Ma altrimenti il ​​tuo compito dovrebbe essere facile da fare con un cronjob
sudo crontab -e
55 23 * * * wget http://www.math.columbia.edu/algebraic_geometry/stacks-git/book.pdf

Questo dovrebbe funzionare tutti i giorni alle 23:55

Aggiornare

È necessario specificare la posizione di output di WGET con -O /path/to/file


2
Se si utilizza launchd, consultare apple.stackexchange.com/questions/3030/…

2
Non hai necessariamente bisogno di sudo. I singoli utenti possono avere i propri crontab
Doug Harris il

6

Il demone cron può essere attivato da un semplice:

sudo touch /private/etc/crontab

Quindi è consigliabile inserire il percorso completo di / usr / local / bin / wget (o ovunque si trovi). Cron non conosce $ PATH dell'utente. Spero che sia d'aiuto.



4

Se trovi la sintassi della riga di comando (ecc.) Troppo confusa / arcana, potresti consultare lo strumento GUI per visualizzare / modificare / creare questi lavori.

In passato ho usato Lingon , che ora è stato reso disponibile anche sul Mac App Store. Non ho bisogno di usarlo molto spesso, ma è molto utile quando lo faccio!


1

Una soluzione più elegante (rispetto a cron) è utilizzare le notifiche iCal + Applescript.

Innanzitutto, avvia AppleScript Editor (che si trova in / Applicazione / Utility) e incolla il seguente codice:

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

Salva lo script ed esci dall'editor di applecript.

Apri iCal e crea un nuovo evento per oggi, impostando l'orario che desideri, seleziona "ripeti: ogni giorno" e come allarme "Esegui script" e seleziona il tuo applecript.

Se si desidera ricevere una notifica per ogni download, è possibile aggiungere un altro allarme con un "Messaggio con audio", "alla data".


1

Consiglio i maccheroni . Il vantaggio è che quando si imposta un processo per l'esecuzione una volta al giorno, viene eseguito ogni volta che il computer è acceso, indipendentemente dall'ora. Quindi non perderai un lavoro perché il computer era spento all'ora specificata.

Maccheroni è uno strumento che gestisce la manutenzione regolare per Mac OS X, incluso il processo dei privilegi di riparazione di Mac OS X e la manutenzione in stile Unix. Puoi farlo da solo, ma non hai cose più interessanti da fare con il tuo tempo?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.