2 votos

Constante de secuencia de comandos de la aplicación para la unidad compartida de cheques/montaje

Me pregunto ¿cuál es un buen lugar para comenzar para este problema. Creo que puede conseguirse utilizando el script de apple, pero es cierto que no sé de sus capacidades.

Escenario: tengo un NAS que me conecto usando el Finder. Una vez conectado, en el que hay dos carpetas del NAS, cuando hago clic en una de las carpetas "SNAS" se monta en la root (es decir, si yo CMD+FLECHA ARRIBA a la parte superior, aparece en la lista junto a otras unidades). Yo, a continuación, arrástrelo a mi lista de favoritos.

Cuando el Mac se reinicie la conexión y favoritos se pierde y tengo que repetir el proceso.

Quiero un script para que se ejecute automáticamente en cada arranque, y luego periódicamente (por ejemplo, cada 30 segundos o menos). La secuencia de comandos debe comprobar si el NAS está conectado, si no, acceda a ella. Comprobar si la carpeta/disco está montado, si no, el monte. A continuación, compruebe si está en la lista de favoritos, y si no, el favorito.

En efecto automáticamente el registro, montaje, y favouriting el NAS carpeta/disco cada vez.

Feliz de hacer el trabajo de la pierna en el script, pero si alguien tiene una sugerencia de por dónde empezar/idioma a utilizar/o incluso, posiblemente, una aplicación dedicada que sería genial, ya que no puede encontrar nada para el nicho de la solicitud de búsqueda

He adjuntado una serie de imágenes que muestran la corriente de las medidas adoptadas.

OS detalles: macOS Sierra 10.12.1 (16B2555)

Steps needing automated

1voto

Warren Lavallee Puntos 21

Usted puede hacer esto en el shell.

El lanzamiento de un Terminal, a continuación, ejecute:

mount

Encontrar la línea con su volumen, y agarrar la primera parte hasta el espacio. Debería ser algo como:

//warren@10.0.15.2/Shared%20Network%20Volume

Eso es nombre de usuario@IP_OF_NAS/VolumeName

Ahora, aquí está la secuencia de comandos, guardar como "remount.sh"

#!/bin/bash

date
mounted=$(/sbin/mount | grep -c "VOLUMENAME")
if [ $mounted -eq 0 ]; then
   ping -q -c 2 -t 1 IP_ADDRESS > /dev/null 2>&1
   if [ $? -eq 0 ]; then
      if [ ! -d "/Volumes/VOLUMENAME" ]; then
         mkdir "/Volumes/VOLUMENAME"
         chown LOCALLOGIN:staff "/Volumes/VOLUMENAME"
      fi
     su LOCALLOGIN -c "/sbin/mount -t afp afp://YOURLOGIN:PASSWORD@IP_ADDRESS/VOLUMENAME /Volumes/VOLUMENAME"
   fi
else
   echo "Already mounted"

fi

Usted necesita para cambiar las variables en todas las TAPAS de arriba.

YOURLOGIN (Your login on the NAS)
PASSWORD (Your password on the NAS)
LOCALLOGIN (Your local login on the MAC machine)
IP_ADDRESS (the IP ADDRESS of the NAS)
VOLUMENAME (The Volume Name on the NAS)

Desmontar el volumen de red que previamente montado, a continuación, ejecute:

chmod 755 remount.sh
sudo ./remount.sh

Asegúrese de que este se monta el volumen ACEPTAR. Funcionó bien en mi MacBook ejecución de la Sierra en contra de un Apple Time Capsule.

Ahora bien, si todo está bien, lo añadimos a cron para que se ejecute como root (sudo) cada 15 minutos.

sudo crontab -e

Agregar algo como esto (de temporada al gusto):

*/15 * * * * /Users/warren/remount.sh >> /Users/warren/remount.log 2>&1

Tenga en cuenta que he guardado el script en mi directorio home. Si usted está ordenado, es probable que no desee guardar.

Desmontar el volumen, y esperar 15 minutos y ver si vuelve a aparecer. Si no, busque en el archivo de registro para ver qué onda.

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