3 votos

Applescript: Comprobar y volver a montar automáticamente el volumen del servidor ha dejado de funcionar

Ayer encontré un script que hace que mi Mac (MacBook Pro con El Capitán) compruebe automáticamente si hay un volumen en un servidor y lo vuelva a montar si se cae la conexión. Lo adapté ligeramente a esto, para que mi servidor multimedia volviera a montar cuando se caiga (que es frecuentemente):

on idle
    tell application "Finder"
        set isConnected to disk "Plex" exists
    end tell
    if isConnected = false then
        try
            mount volume "Plex" on server "smb://USER:PASSWORD@192.168.0.10:445"
        end try
    end if
    return 5
end idle

He guardado el script como aplicación del Editor utilizando la opción "Permanecer abierto después de ejecutar el manejador", por lo que se ejecuta en segundo plano.

Ayer funcionaba bien. Hoy, cuando intenta volver a montar el volumen de Plex me sale un error "Hubo un problema de conexión con el servidor".

Sin embargo, puedo conectarme al servidor utilizando el comando "Conectar al servidor" introduciendo la misma dirección IP, ID de usuario y contraseña.

Estoy iniciando sesión en el NAS con una cuenta de administrador, por lo que no debería haber ningún problema de permisos de disco.

¿Hay algo en el script que he desordenado, o es un problema del Mac o del NAS?

Soy completamente nuevo en el tema de los scripts, así que puedo pedir aclaraciones sobre cualquier respuesta.

Me gustaría incluir un enlace al script original, pero no recuerdo dónde lo encontré.

Gracias.

1voto

Richard Cosgrove Puntos 3

Me las arreglé para resolver este problema "tomando prestados" algunos código de un blog que encontré .

on idle
    set intnt to do shell script "ping -c 1 192.168.0.10; echo -n"
    set paras to number of paragraphs in intnt
    if paras < 5 then
    else
        set serverIP to "smb://192.168.0.10/Plex"
        set UserAccount to "[USERNAME]"
        set ServerPassword to "[PASSWORD]"
        set serverVolume to UserAccount
        tell application "Finder"
            try
                if disk serverVolume exists then
                else
                    mount volume serverIP as user name UserAccount with password ServerPassword
                end if
            end try
        end tell
    end if
    return 5
end idle

También descubrí que si añada este código al final del archivo info.plist de una aplicación, su icono no aparece en el Dock.

Basta con copiar y pegar estas líneas antes de la entrada final de /dict.

La desventaja es que tengo que usar el Administrador de Actividades o la Terminal para matar la aplicación, pero hace que el Dock esté más ordenado.

<key>LSUIElement</key>
<true/>

1 votos

Por favor, marque esto como la respuesta aceptada.

0voto

William T Froggard Puntos 2862

AppleScript puede ser un poco problemático. Recientemente, he tenido unos cuantos scripts que estaban fallando sin razón aparente. Hice un pequeño cambio, guardé, luego deshice el cambio, y lo guardé de nuevo, y el problema desapareció... Hasta que volvió una semana más tarde (un viejo problema recurrente). No estoy del todo seguro de si eso lo arreglará en tu caso, pero un punto a tener en cuenta: No necesitas especificar el número de puerto al final del nombre de dominio o de la dirección IP, si el puerto es el predeterminado para el protocolo. El puerto 445 es el predeterminado para SMB. Puedes eliminar toda la parte ":445". Con los idiomas poco fiables, nunca se sabe qué puede arreglar el problema.

0 votos

Gracias. Intenté eliminar la referencia "445", pero eso no eliminó el error.

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