En OS X Lion bajo zsh, ¿cómo puedo configurar un directorio /Users/username/tmp que se elimine después de X días?

En OS X Lion bajo zsh, ¿cómo puedo configurar un directorio /Users/username/tmp que se elimine después de X días?

Soy nuevo en scripting y trabajos regulares en OS X, así que agradezco la ayuda de antemano.

Estoy buscando tener un directorio tmp en mi directorio de inicio, como en /Users/username/tmp, que puedo usar como mi directorio de "descargas".

Mi objetivo es eliminar los archivos/directorios de este directorio después de, digamos, 10 días después del momento (último acceso).

Así que estoy buscando un script y también el método para ejecutarlo regularmente en OS X Lion usando ZSH como shell.

Gracias.

Respuesta1

Escriba un script que elimine archivos en una carpeta si su hora es anterior a hace diez días, luego ejecútelo diariamente (no sé cuál es el mejor mecanismo para eso en OSX; en Linux usaría anacron, o en su defecto que lo ejecuta cada hora con cron).

Script de muestra (toma el directorio, por ejemplo ~/downloads, como primer argumento):

#!/bin/zsh

setopt extended_glob

targetpath=$1

[[ -d $targetpath ]] || (echo "Directory does not exist" 1>&2 && exit 1)

rm ${path}/**(.a+10) # ** will match recursively, and the bit in brackets is an
# extended glob qualifier, matching ordinary files with an atime more than ten days ago.
unsetopt extended_glob
exit 0

Probablemente haya todo tipo de cosas mal en eso, y si habitualmente usas extended_glob no necesitas que esté activado y luego desactivado en el script, naturalmente.

información relacionada