Estoy intentando sincronizar un directorio local con mi NAS que está montado a través del protocolo afp como una unidad. Estoy utilizando rsync. Cuando ejecuto el comando desde la terminal, funciona bien. Sin embargo, cuando intento ejecutarlo desde launchd, siempre falla. Este es mi comando rsync:
rsync -av --delete /Users/self/Pictures/ /Volumes/nas/Images
Esta es la plist
que contiene el comando anterior. Se encuentra en ~/Library/LaunchAgents
con usuario, grupos y permisos iguales a los otros plists (de trabajo) en ese directorio.
<?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>rsync_picture_to_nas</string>
<key>ProgramArguments</key>
<array>
<string>rsync</string>
<string>-av</string>
<string>--delete</string>
<string>/Users/self/Pictures/</string>
<string>/Volumes/nas/Images</string>
</array>
<key>StandardErrorPath</key>
<string>/Users/self/.log/rsync_picture_to_nas_err.log</string>
<key>StandardOutPath</key>
<string>/Users/self/.log/rsync_picture_to_nas_out.log</string>
<key>WatchPaths</key>
<array>
<string>/Users/self/Pictures</string>
</array>
</dict>
</plist>
Siempre tiene un fallo de permisos completo. Los errores de permisos exactos dependerán de si lo estoy ejecutando desde cero o lo he ejecutado previamente con éxito desde la línea de comandos. Basta con decir que es totalmente incapaz de hacer nada. No puede crear ni modificar ningún archivo en el NAS.
He aquí un ejemplo de error:
rsync: recv_generator: mkdir "/Volumes/nas/Images/Lightroom Library.lrlibrary" failed: Operation not permitted (1)
*** Skipping everything below this failed directory ***