1 votos

Secuencia de comandos de Shell para rsync o si no se monta el montaje y el rsync

Esto es lo que he conseguido hasta ahora:

!/bin/sh

Carpeta De Almacenamiento De Copia De Seguridad

Define el punto de montaje

LOCALMOUNTPOINT="/Volumes/thisisanetworkshare"

Los cheques para el monte

if mount | grep "on $LOCALMOUNTPOINT" > /dev/null; then

Si ya montado inicia rsync trabajo

caffeinate -i rsync -av /Users/auser/storage/ /Volumes/thisisanetworkshare/ --log-file=/Users/auser/rsync.log

De lo contrario, se monta y se inicia rsync trabajo

else
    mkdir thisisanetworkshare
    mount_smbfs //thisnetwork/thisisanetworkshare /Volumes/thisisanetworkshare
    caffeinate -i rsync -av /Users/auser/storage/
    /Volumes/thisisanetworkshare/ --log-file=/Users/auser/rsync.log
fi

Así que, básicamente, quiero empezar un rsync si el recurso compartido de red ya está instalado, pero si no lo es, me gustaría montar ese recurso compartido de red e iniciar un rsync.

El recurso compartido de red requiere autenticación, pero este se guarda en el llavero, por lo que no se puede pedir para que en el finder. ¿Importa esto para un script de shell?

Gracias de antemano!

0voto

user3439894 Puntos 5883

Con el uso normal de la sintaxis de la versión de línea de comandos de la mount comando desde la línea de comando o un script en bash para un protegidos con contraseña SMB Compartir requerirá la introducción de la contraseña, por uno u otro medio. Sin embargo, a partir de un bash script de línea de comandos o hay una manera de acceder a la almacena contraseña de llaves para montar el recurso Compartido SMB sin introducir la contraseña en el script de bash o desde la línea de comandos.

El siguiente asume tanto la autenticación de Nombre de Usuario y la Contraseña para el objetivo de SMB se almacena en el Usuario del Llavero.

Desde la autenticación de Nombre de Usuario y la Contraseña para el objetivo de SMB se almacena en el Usuario del Llavero, a continuación, montar el objetivo de SMB se puede hacer a través de AppleScript en el bash script de línea de comandos o mediante el osascript comando.

En el siguiente ejemplo he compartido la carpeta Temp en otro sistema en la Red teniendo la Dirección IP: 192.168.169.227

Yo montada por primera vez este a través del Buscador del menú Ir > Conectarse al Servidor... donde me marcó la casilla "Recordar esta contraseña en mi llavero" casilla de verificación para que se almacenan en el Llavero. Una vez hecho esto he desmontado el compartir y utilizar el siguiente comando para montar desde un script de bash.

osascript -e 'tell application "Finder" to mount volume "smb://192.168.169.227/Temp"'

No tuve la necesidad de crear previamente el "/Volumes/Temp" carpeta como la que se realiza de forma automática por este método a diferencia del uso de la mount -t smbfs //... comando normalmente donde el punto de montaje suministrado tiene que existir ya.

Así que al escribir el script de bash utilizar este método en lugar de la normal de la versión de línea de comandos de la mount comando.

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