0 votos

¿Puede restic hacer una copia de seguridad de la biblioteca de Fotos de macOS desde launchd?

Cuando ejecuto restic desde la línea de comandos con sudo, en realidad puedo hacer una copia de seguridad de mi biblioteca de Fotos. Pero esto probablemente se deba a que he dado a Terminal acceso completo al disco.

De hecho, estoy iniciando restic desde un script propio. Pero funciona bien.

También he creado una programación de launchd. Pero cuando se ejecuta desde ahí, obtengo estos errores de permisos, como:

scan: open /Users/gerben/Pictures/Photos Library.photoslibrary: operación no permitida

El plist de launchd contiene:

    ProgramArguments

        /opt/local/etc/restic/rna-run-restic.sh

Ese script, que es multiplataforma, por lo que puede ejecutarse en macOS y en Linux con docker, comienza con

#!/bin/bash
# Script de interfaz R&A restic

# Asegurarse de que estemos ejecutando bash >4
if [ -n "$BASH_VERSION" ]; then
    # Extraer el número de versión principal (primer número) de BASH_VERSION
    major_version="${BASH_VERSION%%.*}"

    # Comprobar si la versión principal es menor que 5
    if [ "$major_version" -lt 5 ]; then
        # Volver a ejecutar el script con /opt/local/bin/bash
        exec "/opt/local/bin/bash" "$0" "$@"
    fi
else
    # Volver a ejecutar el script con /opt/local/bin/bash
    exec "/opt/local/bin/bash" "$0" "$@"
fi

Y en algún momento en macOS, esto pone en marcha /opt/local/bin/restic (instalado por MacPorts) con los argumentos correctos, como por ejemplo:

/opt/local/bin/restic --verbose -p -passwd.txt -r rest:https://fqdn:port/ backup --host foo --tag pictures --files-from /opt/local/etc/restic/etc/foo-includes-pictures.txt

Pero mientras que desde Terminal puedo ejecutar esa copia de seguridad, no puedo desde launchd. ¿Cómo lo soluciono?

0voto

gctwnl Puntos 126

OK, parece que he encontrado la 'solución': para que esto funcione debes darle a bash acceso completo al disco. No me gusta eso, pero no sé cuál sería una mejor solución.

Actualización: Una mejor solución es https://github.com/sveinbjornt/Platypus

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