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.