Come posso eseguire un cron job su un Mac?

12

Come posso far funzionare automaticamente il mio Mac una volta al giorno (eseguendo il sistema operativo più recente)? Ad esempio, mi piacerebbe che scaricasse automaticamente una copia di questo open source manuale di geometria algebrica una volta al giorno. Ho la sensazione che alcune combinazioni di wget e cron dovrebbero funzionare, ma, dopo aver fatto ricerche su Google e aver letto la documentazione di cron, non sono riuscito a far funzionare correttamente.

    
posta David Zureick-Brown 02.03.2011 - 00:16
fonte

6 risposte

9

Penso che in OS X dovresti usare launchctl per "lavori di cron".
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 essere eseguito ogni giorno alle 23:55

Aggiorna

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

    
risposta data 02.03.2011 - 00:26
fonte
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 esso viva). Cron non sa del PATH $ del tuo utente. Spero che aiuti.

    
risposta data 02.03.2011 - 13:50
fonte
5

Puoi usare Cronnix che è un'interfaccia grafica libera per cron:

link

    
risposta data 02.03.2011 - 11:03
fonte
4

Se stai cercando la sintassi della riga di comando (etc) troppo confusa / arcana, potresti usare lo strumento GUI per visualizzare / modificare / creare questi lavori.

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

    
risposta data 02.03.2011 - 10:40
fonte
1

Una soluzione più elegante (di cron) è quella di usare le notifiche iCal + Applescript.

Per prima cosa, avvia AppleScript Editor (che si trova in / Application / Utilities) 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 e chiudi l'editor di applescript.

Apri il tuo iCal e crea un nuovo evento per oggi, imposta l'orario desiderato, seleziona "Ripeti: Ogni giorno" e come sveglia "Esegui script" e seleziona il tuo applecript.

Se desideri ricevere una notifica per ogni download, puoi aggiungere un altro allarme con un "Messaggio con audio", "in data".

    
risposta data 02.03.2011 - 14:36
fonte
1

Raccomando maccheroni . Il vantaggio è che quando si imposta un lavoro da eseguire una volta al giorno, viene eseguito ogni volta che il computer è acceso, indipendentemente dall'ora. Quindi non ti perderai un lavoro perché il computer era spento all'ora specificata.

Macaroni is a tool which handles regular maintenance for Mac OS X, including the Mac OS X repair privileges process as well as Unix-style maintenance. You could do this yourself, but don't you have more interesting things to do with your time?

    
risposta data 15.11.2012 - 22:06
fonte

Leggi altre domande sui tag