0 votos

Montaje automático de la imagen de disco contenida, cuando se monta el disco externo

Tengo una unidad externa SSD que monta automáticamente una partición Copia de seguridad . Dentro de Copia de seguridad hay una imagen de disco de paquete disperso llamada TimeMachine .

Copia de seguridad no está montado en /Volume sino a una carpeta específica (sincronizada con un servicio en la nube), a través de /etc/fstab :

UUID=4E5D0103-741G-46DA-A79E-F923E5C951D1 /Users/myuser/Cloud\040Folder/Backup apfs rw 0 2

¿Cómo puedo activar el montaje automático de TimeMachine al detectar que Backup ¿se ha montado?


Algo así como hdiutil attach /Users/myuser/Cloud\040Folder/Backup/TimeMachine.sparsebundle que se ejecuta cuando se detecta que /Usuarios/mi usuario/nube \040Folder /Backup está presente.

Tal vez el /etc/auto_master ¿podría ayudar el archivo? (Nunca lo he usado antes)

2voto

user3439894 Puntos 5883

Como la otra respuesta carece un poco de detalles explícitos/específicos, esto pretende mostrar cómo se puede hacer.

En /etc/fstab He añadido el correspondiente entrada para tener la disco de destino que contiene el TimeMachine.sparsebundle archivo se montan automáticamente en el ubicación del objetivo cuando se inserta, como se muestra en su puesto.

Como todavía no está claro que estés utilizando el -mountpoint con hdiutil lo siguiente supone su no, ya que lo eliminó, sin embargo voy a actualizar el bash código si es necesario.

He probado lo siguiente pasos y código , y funciona para tener automáticamente el TimeMachine.sparsebundle archivo montado cuando el disco de destino que lo contiene está montado.

1. Cree el bash script que se ejecutará cada vez que se monte un disco.

  En Terminal :

cd /Users/Shared
mkdir bin
cd bin
touch MountTimeMachineSparseBundle
open -e MountTimeMachineSparseBundle
  • Copiar y pegar el ejemplo bash código en el documento abierto, sustituyendo _you_ en el hdiutil comando con su nombre de usuario corto , guardar y cerrar.

    !/bin/bash

    if [ "Cloud Folder/Backup" == "$(mount | grep -o "Cloud Folder/Backup")" ]; then if [ "/Volumes/TimeMachine" != "$(mount | grep -o "/Volumes/TimeMachine")" ]; then hdiutil attach "/Users/you/Cloud Folder/Backup/TimeMachine.sparsebundle" fi fi

  • De vuelta en Terminal , hacer que el bash script ejecutable:

    chmod +x MountTimeMachineSparseBundle

2. Cree el .plist archivo el daemon utilizará para ejecutar el bash script se utiliza para tener automáticamente el TimeMachine.sparsebundle archivo montado cuando la unidad de destino que lo contiene está montada.

  En Terminal :

cd /Library/LaunchDaemons
sudo nano com.my.MountTimeMachineSparseBundle.plist
  • Copiar y pegar el ejemplo PLIST XML código en nano , guárdelo ( ^O Entrar ), y salir nano ( ^X ).

    <?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.my.MountTimeMachineSparseBundle </string> <key>ProgramArguments</key> <array> <string>/Users/Shared/bin/MountTimeMachineSparseBundle</string> </array> <key>RunAtLoad</key> <false/> <key>StartOnMount</key> <true/> </dict> </plist>

  Entonces:

sudo chmod 0444 com.my.MountTimeMachineSparseBundle.plist
sudo launchctl load com.my.MountTimeMachineSparseBundle.plist

Ahora bien, cuando el disco de destino que contiene el TimeMachine.sparsebundle archivo es montado El TimeMachine.sparsebundle archivo también será montado .

1voto

Jose Chavez Puntos 645

Puede crear una definición de launchd LaunchDaemon con la clave "StartOnMount" establecida en true. Esto le permitirá tener su propio script que se ejecute cada vez que se monte algo.

Su propio script debería entonces simplemente comprobar si "Backup" está montado sin que "TimeMachine" esté montado - y si es así, montar "TimeMachine".

Puede utilizar el comando "mount" para obtener información sobre los sistemas de archivos montados actualmente.

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