Eliminar archivos regularmente en una carpeta en una Mac

2

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?

Nombre de usuario incorrecto
fuente

Respuestas:

5

~ / Library / LaunchAgents / me.lri.clear.desktop.and.documents.plist

<?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 launchctly man launchd.plistpara 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 ~/.crontaby luego ejecutar crontab ~/.crontab)

Lri
fuente
"decir lol"? ¡Tu guión es malvado!
Daniel Beck
Debería ser: "Muahahaha"
Andrew Lambert
0

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:

#!/bin/bash
rm /path/to/directory1
rm /path/to/directory2
...etc...

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 rmcomando no podrá eliminar los subdirectorios o sus contenidos, si desea hacerlo, use el -rinterruptor.

Andrew Lambert
fuente
Los bits Unix-y de OS X usan los separadores de barra estándar.
Lawrence Velázquez