Eu tenho um volume (salvo como um pacote esparso criptografado) que uso periodicamente. Por razões de segurança, ele deve ser ejetado quando não estiver em uso. É claro que eu deveria fazer isso sozinho, e geralmente me lembro. Mas não sempre. Existe uma maneira automatizada de fazer isso como um backup para mim falível?
Talvez uma ação de pasta anexada a ele a ejete após um certo período de tempo (ou, melhor ainda, um certo período de tempo ocioso) ou a uma certa hora do dia?
Talvez uma maneira de ejetar automaticamente quando o computador dorme? Atualmente, ele ainda existe após o sono do computador. (Não quero usar logout porque há outros processos que quero continuar.)
Respostas:
Graças ao patrix, agora o tenho funcionando. Vou postar algo aqui para outras pessoas que desejam fazer isso no futuro.
Parece que
cronjob
não é mais recomendadolaunchd
. Foi a primeira vez que escrevi um agente de inicialização, por isso houve muitos erros antes de fazê-lo funcionar. Não consegui decifrar as mensagens de erro no log do sistema, mas pelo menos quando elas estavam lá, disseram que não estava funcionando.Encontrei um tutorial para um agente de lançamento em robots.thoughbot.com . Algumas das maneiras que ele usa
launchctl
são marcadas como "legadas" pela Apple, mas ainda funcionaram para mim na Sierra.Aqui está o meu agente de lançamento plist:
É suposto executar o comando Unix a
diskutil unmount force /Volumes/3D
cada 10800 segundos (= 3 horas).fonte
Você pode achar útil o seguinte projeto: http://henri.shustak.org/tools/ejector
fonte