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

12

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

Monté 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 montar de forma predeterminada.

¿Hay una manera de montar los volúmenes en Automator? También estoy abierto a shell scripting. Gracias!

    
pregunta Richard Herron 19.10.2010 - 19:58

2 respuestas

9

Construyo flujos de trabajo automator como este todo el tiempo. Solo necesita dos acciones, y ambos son Archivos y aplicaciones; Acciones de carpetas.

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

2) Conectar a servidores. Esto se conectará a cualquier servidor que se le pase (ya sea desde los servidores especificados o desde los servidores de solicitud).

    
respondido por el Ben Wyatt 19.10.2010 - 20:14
5

Utilizo el siguiente script de Apple para montar directorios junto con MarcoPolo para que los recursos compartidos de la red se monten automáticamente cuando llego a Tanto mi oficina como mi hogar.

Deberá cambiar USERNAME, PASSWORD, SERVER / SHARENAME y posiblemente smb: // dependiendo de su 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: puede hacer ping al servidor primero y solo intentar conectarse si obtiene una respuesta. Luego puede agregar este script en su Elementos de inicio de sesión

(Supongamos 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
    
respondido por el Jason 19.10.2010 - 22:23

Lea otras preguntas en las etiquetas