¿Cómo creo una tarea programada que elimine archivos de un nombre determinado todos los días?

1

Nuestro sistema de correo de voz nos envía nuestros mensajes por correo electrónico como archivos mp3. Cuando descargo el archivo, aparece como "message.mp3", pero, por supuesto, OSX les cambiará el nombre a "Message (x) .mp3" cuando tenga más de 1. Lo que quiero hacer es crear un script / tarea que los eliminará automáticamente todos los días (o lo que elija) siempre que tengan más de un par de días de antigüedad.

No sé cómo hacer una tarea cron, y una solución que encontré fue crear un AppleScript (que tampoco conozco bien) y luego usar iCal para programar un evento todos los días que ejecute el script. Pero no funciona.

Aquí está el 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

Y en iCal creé un evento repetitivo, con el script adjunto.

¿Alguien sabe cómo hacer esto (quizás una mejor manera?)

    
pregunta Justin_T 21.07.2014 - 20:11

1 respuesta

1

Agregue lo siguiente a su crontab (ejecute env EDITOR=nano crontab -e para editar su 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)'

No probado, ya que no tengo dichos archivos en mi sistema. Mantenga copias de seguridad y asegúrese de que tiene la ruta correcta.

    
respondido por el grg 21.07.2014 - 21:13

Lea otras preguntas en las etiquetas