Script de Launchd para montar el volumen en el arranque

5

Tengo un script monta.sh para montar un volumen externo:

#!bin/sh
mkdir -p /Volumes/remvol
mount_smbfs //user:password@server/folder /Volumes/remvol

Luego tengo un com.jo.monta.plist para iniciar el script después de que el inicio del sistema se coloque en /Library/LaunchDaemons :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.jo.monta</string>
    <key>Disabled</key>
    <false/>
    <key>UserName</key>
    <string>admin</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/admin/scripts/monta.sh</string>
    </array>
    <key>KeepAlive</key>
    <dict>
        <key>SuccessfulExit</key>
        <false/>
    </dict>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

He probado el script desde la línea de comandos y funciona, sin embargo, si inicio sesión después del inicio, el volumen no está montado.

Parece que el archivo plist no se carga? ¿Qué pasa?

    
pregunta naio 29.02.2016 - 08:52

1 respuesta

3

El script y el plist funcionan perfectamente bien si realiza los siguientes cambios:

agrega una barra en /Users/admin/scripts/monta.sh:

#!/bin/sh
mkdir -p /Volumes/remvol
mount_smbfs //user:password@server/folder /Volumes/remvol

propiedad adecuada de com.jo.monta.plist:

sudo chown root:wheel /Library/LaunchDaemons/com.jo.monta.plist

bits de modo de archivo adecuado de /Users/admin/scripts/monta.sh:

chmod 755 /Users/admin/scripts/monta.sh

cargar el demonio de lanzamiento:

sudo launchctl load /Library/LaunchDaemons/com.jo.monta.plist
    
respondido por el klanomath 29.02.2016 - 12:51

Lea otras preguntas en las etiquetas