Me gustaría hacerlo para que el contenido de los documentos y la carpeta de escritorio de una cuenta de usuario estándar en una Mac se elimine todos los días a la medianoche. ¿Cómo puedo hacer que esto suceda?
2
<?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>me.lri.clear.desktop.and.documents</string>
<key>ProgramArguments</key>
<array>
<string>osascript</string>
<string>-e</string>
<string>say "lol"</string>
<!-- <string>tell application "Finder"
move items of desktop to trash
move items of (path to documents folder) to trash
end tell</string> -->
</array>
<key>StartInterval</key>
<integer>5</integer> <!-- every 5 seconds -->
<!-- <key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>0</integer>
</dict> -->
</dict>
</plist>
El agente se cargará después de cerrar sesión y volver a iniciarla, o después de ejecutarse launchctl load ~/Library/LaunchAgents/me.lri.clear.desktop_and.documents.plist
.
Ver man launchctl
y man launchd.plist
para más información.
Otra opción sería agregar algo como esto a su crontab:
0 0 0 * * osascript -e 'tell app "Finder"' -e 'move items of desktop to trash' -e 'move items of (path to documents folder) to trash' -e 'end'
(Puede guardar eso como ~/.crontab
y luego ejecutar crontab ~/.crontab
)
Debería ser bastante simple con un trabajo cron que llama a un script de shell que elimina el contenido de los directorios especificados
No tengo una Mac, pero creo que las Mac vienen con un shell compatible con BASH. Entonces algo como esto:
No estoy seguro de si el shell de Mac utiliza el esquema clásico de ruta de archivo * nix (/ blah / blah) o el esquema utilizado por Finder (blah: blah); eso es algo en lo que puedes investigar. El
rm
comando no podrá eliminar los subdirectorios o sus contenidos, si desea hacerlo, use el-r
interruptor.fuente