Tengo una cámara configurada para tomar una imagen cada pocos segundos y luego la imagen se procesa y ya no es necesaria. ¿Puede alguien ayudarme a escribir un script/servicio que borre los archivos/imágenes de una carpeta que tengan más de 3 horas de antigüedad? Estoy tratando de hacer esto ya que toma una tonelada de espacio si sólo se purga cada 24 horas utilizando Automator.
Respuestas
¿Demasiados anuncios?He aquí un ejemplo find
que puedes modificar para adaptarlo a tus necesidades:
find '/path/to/files/' -type f -name '*.jpg' -mmin +180 -delete
Yo usaría launchd
a ejecute cada 3 horas.
He aquí un ejemplo .plist
archivo que ejecutará el find
comando cada 3 horas utilizando launchd
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.my.delete.every.three.hours</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/find</string>
<string>/path/to/files/</string>
<string>-type</string>
<string>f</string>
<string>-name</string>
<string>*.jpg</string>
<string>-mmin</string>
<string>+180</string>
<string>-delete</string>
</array>
<key>RunAtLoad</key>
<false/>
<key>StartInterval</key>
<integer>10800</integer>
</dict>
</plist>
Se guardaría en: $HOME/Library/LaunchAgents/com.my.delete.every.three.hours.plist
Desde Terminal :
touch "$HOME/Library/LaunchAgents/com.my.delete.every.three.hours.plist"
open -e "$HOME/Library/LaunchAgents/com.my.delete.every.three.hours.plist"
- Ejemplo de copiar y pegar XML código en el abierto TextEdit documento :
- Modifíquese según sea necesario:
- Por ejemplo, cambiar
/path/to/files/
a la actual camino . - Por ejemplo, cambiar
*.jpg
a la extensión adecuada si no es así:jpg
- Por ejemplo, cambiar
- Guarde y cierre el documento.
Continuar en Terminal , a carga el plist
archivo :
launchctl load "$HOME/Library/LaunchAgents/com.my.delete.every.three.hours.plist"
A stop
y unload
el "$HOME/Library/LaunchAgents/com.my.delete.every.three.hours.plist"
archivo uso:
launchctl stop "$HOME/Library/LaunchAgents/com.my.delete.every.three.hours.plist"
launchctl unload "$HOME/Library/LaunchAgents/com.my.delete.every.three.hours.plist"