Come si crea un'attività programmata che cancella i file di un certo nome ogni giorno?

1

Il nostro sistema di posta vocale ci invia i nostri messaggi via e-mail come file mp3. Quando scarico il file, viene visualizzato come "message.mp3", ma ovviamente OSX li rinominerà "Message (x) .mp3" quando ne hai più di 1. Quello che voglio fare è creare uno script / task che li eliminerà automaticamente ogni giorno (o qualsiasi altra cosa scegliamo) purché siano più vecchi di un paio di giorni.

Non so come eseguire un compito cron, e una soluzione che ho trovato è stata quella di creare un AppleScript (che anch'io non conosco bene) e quindi utilizzare iCal per pianificare un evento ogni giorno che esegue lo script. Ma non funziona.

Ecco AppleScript:

tell application "Finder"
    try
        delete (every file of folder "Macintosh HD:Users:username:Downloads" whose name starts with "message" and modification date is less than (get current date) - 2 * days)
    end try
end tell

E in iCal ho creato un evento ricorrente, con lo script allegato.

Qualcuno sa come fare questo (forse un modo migliore?)

    
posta Justin_T 21.07.2014 - 20:11
fonte

1 risposta

1

Aggiungi quanto segue al tuo crontab (esegui env EDITOR=nano crontab -e per modificare il tuo crontab):

@daily /usr/bin/osascript -e 'tell application "Finder" to delete (every file of folder "Macintosh HD:Users:username:Downloads" whose name starts with "message" and modification date is less than (get current date) - 2 * days)'

Non verificato perché non ho file simili sul mio sistema. Tieni i backup e assicurati di aver trovato la strada giusta.

    
risposta data 21.07.2014 - 21:13
fonte

Leggi altre domande sui tag