¿Cómo puedo hacer que Automator monte un volumen de red?


12

Estoy escribiendo un "script" de Automator que rsynces multimedia en mi MacBook Pro 10.6.3 a mi Ubuntu 10.10 HTPC. Puedo hacer que Automator ejecute mi script de shell para rsynccomandos, pero no puedo hacer que Automator monte los tres volúmenes en el HTPC (carpetas para música, videos e imágenes).

Monto automáticamente estos volúmenes cuando inicio sesión (estas computadoras se conectan a través de una red wifi), pero a veces los volúmenes HTPC se desmontan, por lo que me gustaría volver a montarlos de forma predeterminada.

¿Hay alguna manera de montar los volúmenes en Automator? También estoy abierto a las secuencias de comandos de shell. ¡Gracias!

Respuestas:


9

Construyo flujos de trabajo automáticos como este todo el tiempo. Solo necesita dos acciones, y ambas son acciones de archivos y carpetas.

1) Obtenga servidores especificados. Esto le permitirá crear una lista de recursos compartidos para conectarse. Si puede asignarlo desde Finder -> Ir -> Conectarse al servidor, puede usar esto.

2) Conéctese a los servidores. Esto se conectará a cualquier servidor que se le pase (ya sea desde servidores especificados o desde servidores solicitados).


+ de acuerdo: así es exactamente como lo hago en un flujo de trabajo rsync que uso para sincronizar una biblioteca de iTunes. Asegúrese de usar Eject Volumes si no desea que la unidad de red permanezca conectada después de que se complete el flujo de trabajo.
Robert S Ciaccio

1
Expulsar volúmenes también es útil si desea un flujo de trabajo "inverso". Utilizo el procedimiento que describí anteriormente como parte de un flujo de trabajo que ejecuto cuando llego al trabajo (abrir programas, conectarme a servidores e incluso remotamente a una máquina virtual). Al final del día, tengo otro que desconecta todos mis servidores y cierra todos mis programas.
Ben Wyatt

6

Utilizo el siguiente AppleScript para montar directorios junto con MarcoPolo para que los recursos compartidos de red se monten automáticamente cuando llegue tanto a mi oficina como a mi hogar.

Deberá cambiar USERNAME, PASSWORD, SERVER / SHARENAME y posiblemente smb: // según el tipo de servidor.

tell application "Finder"
    try
        mount volume "smb://USERNAME:PASSWORD@SERVER/SHARENAME"
        delay 1
    end try
end tell

ACTUALIZACIÓN : una opción sin MarcoPolo: primero puede hacer ping al servidor y solo intentar conectarse si recibe una respuesta. Luego puede agregar esta secuencia de comandos en sus elementos de inicio de sesión

(Digamos que está intentando conectarse a un servidor llamado "some_server")

-- (0) Check to see if there server exists by pinging it
set max_retry to 60
set k to 0
repeat while (do shell script "ping -c 1 some_server") contains "100% packet loss"
    delay 5
    set k to k + 1
    if k > max_retry then error "Server is not responding for predefined period." number 8000
end repeat

-- (1) It exists, mount the volume
tell application "Finder"
    try
        mount volume "smb://USERNAME:PASSWORD@some_server/SHARENAME"
        delay 1
    end try
end tell
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.