2 votos

Ayuda Desencadenando el disco si UUID está montado hasta una hora específica

Todas las mañanas tengo la misma rutina.

Llego al trabajo y conecto mis periféricos, incluyendo mi copia de seguridad de la máquina del tiempo. Tengo programado que mi máquina del tiempo sólo haga una copia de seguridad diaria a las 3:30 pm. Me gustaría ejecutar un script o un .plist LaunchDeamon para comprobar todos los discos duros externos insertados automáticamente y desmontarlos si el

UUID = 32E89C07-FFDB-36F3-8CE8-5DC0560AFEC4  

Y luego montarlo a las 3:15 pm. No quiero que mi disco duro esté conectado todo el día sólo para usarlo durante 30 minutos para hacer una copia de seguridad de todo.

Sé que todo esto podría resolverse si conecto manualmente el disco a las 3:15. Sin embargo, algunos días estoy en una reunión o lejos del escritorio y qué más da.

Pude encontrar documentación sobre cómo expulsar automáticamente el dispositivo a una hora específica para no tener que acordarme de retirar la unidad de forma segura.

<?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.diskejector.Backup</string>
        <key>ProgramArguments</key>
        <array>
            <string>/usr/sbin/diskutil</string>
            <string>unmountDisk</string>
            <string>32E89C07-FFDB-36F3-8CE8-5DC0560AFEC4</string>
        </array>
        <key>StartCalendarInterval</key>
        <dict>
            <key>Hour</key>
                <integer>16</integer>
            <key>Minute</key>
            <integer>45</integer>
        </dict>
    </dict>
</plist>

Me gustaría que me ayudaran a lanzar automáticamente un .sh script que también podría incluir el código anterior que tengo para expulsar la unidad al final del día.

1voto

klanomath Puntos 19587

No se necesita un shell script si se usan dos agentes de lanzamiento.

Necesitas el UUID de tu disco de copia de seguridad de Time Machine:

diskutil info $VolumeName | grep "Disk / Partition UUID:"

Reemplazar $VolumeName por el nombre del volumen real de su unidad de TM. Si el nombre contiene espacios, utilice comillas dobles (por ejemplo, "unidad de respaldo de Time Machine".

Crear dos archivos: usr.tmvolume.unmount.plist y usr.tmvolume.mount.plist en ~/Library/LaunchAgents/:

nano ~/Library/LaunchAgents/usr.tmvolume.mount.plist

con el contenido

<?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>usr.tmvolume.mount</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/sbin/diskutil</string>
        <string>mount</string>
        <string>$UUID</string>
    </array>
    <key>StartCalendarInterval</key>
    <array>
        <dict>
            <key>Hour</key>
            <integer>15</integer>
            <key>Minute</key>
            <integer>15</integer>
        </dict>
    </array>
</dict>
</plist>

y

nano ~/Library/LaunchAgents/usr.tmvolume.unmount.plist

con el contenido:

<?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>usr.tmvolume.unmount</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/sbin/diskutil</string>
        <string>unmount</string>
        <string>$UUID</string>
    </array>
    <key>StartCalendarInterval</key>
    <array>
        <dict>
            <key>Hour</key>
            <integer>8</integer>
            <key>Minute</key>
            <integer>30</integer>
        </dict>
        <dict>
            <key>Hour</key>
            <integer>15</integer>
            <key>Minute</key>
            <integer>45</integer>
        </dict>
    </array>
</dict>
</plist>

Reemplaza $UID en ambas listas por el UUID de tu volumen de Time Machine encontrado anteriormente.

Cargue ambos plomos con:

launchctl load ~/Library/LaunchAgents/usr.tmvolume.*

Ahora la unidad de respaldo TM será desmontada a las 8:30am, montada a las 3:15pm y desmontada de nuevo a las 3:45pm. Ajustar las fechas como sea necesario.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X