Come posso espellere automaticamente i volumi che non uso più?

1

Ho un volume (salvato come sparsebundle crittografato) che uso di volta in volta. Per ragioni di sicurezza dovrebbe essere espulso quando non in uso. Certo che dovrei farlo da solo, e di solito ricordo. Ma non sempre. C'è un modo automatico per fare questo come back-up per il mio fallibile?

Forse è stata aggiunta un'azione cartella che la espellerà dopo un certo periodo di tempo (o anche meglio, un determinato periodo di inattività) o ad una certa ora del giorno?

Forse un modo per farlo espellere automaticamente quando il computer dorme? Attualmente è ancora lì dopo il sonno del computer. (Non voglio usare il logout perché ci sono altri processi che voglio andare avanti.)

    
posta GEdgar 26.12.2017 - 13:49
fonte

1 risposta

1

Grazie a patrix, ora lo faccio funzionare. Pubblicherò qualcosa qui per gli altri che vogliono farlo in futuro.

Sembra che cronjob non sia più raccomandato, invece launchd . Questa è stata la prima volta che ho scritto un launch agent, quindi c'erano molti errori prima che riuscissi a farlo funzionare. Non riuscivo a decifrare i messaggi di errore nel registro di sistema, ma almeno quando erano lì mi diceva che non funzionava.

Ho trovato un tutorial per un agente di lancio su robots.thoughbot.com . Alcuni dei modi in cui usa launchctl sono contrassegnati come "legacy" da Apple, ma hanno funzionato ancora per me in Sierra.

Ecco il mio plist di avvio:

<?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.gae.umount1</string>
    <key>ProgramArguments</key>
    <array>
        <string>diskutil</string>
        <string>unmount</string>
        <string>force</string>
        <string>/Volumes/3D</string>
    </array>
    <key>StartInterval</key>
    <integer>10800</integer>
</dict>
</plist>

Si suppone che esegua il comando Unix diskutil unmount force /Volumes/3D ogni 10800 secondi (= 3 ore).

    
risposta data 27.12.2017 - 19:38
fonte

Leggi altre domande sui tag