1 votos

No se puede cargar el plist. Launchctl dice "Lista de propiedades inválida", probé con plutil, SIP, permisos

Quiero utilizar el siguiente plist para ejecutar una copia de seguridad script en MacOS High Sierra.

Nombre del archivo: com.pollux.backup.plist

Contenido:

<?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.pollux.backup.plist</string>
    <key>ProgramArguments</key>
    <array>
     <string>sh</string>
     <string>-c</string>
     <string>/bin/backup_pollux_server</string>
     <key>KeepAlive</key>
     </array>
     <key>RunAtLoad</key>
     <true/>
     <key>StartInterval</key>
     <integer>3600</integer>
     <key>StandardErrorPath</key>
     <string>/tmp/pollux_backup.err</string>
     <key>StandardOutPath</key>
     <string>/tmp/pollux_backup.out</string>
  </dict>
</plist>

Permisos: -rw-r--r--@ 1 root wheel 694 3 Apr 19:57 com.pollux.backup.plist

Uso el mismo script y plist para hacer la copia de seguridad del MacBook de mi mujer (Mavericks). Se ejecuta sin problemas. Pero cuando intento cargarlo con launchctl en mi MacBook me sale el siguiente mensaje de error:

/Library/LaunchDaemons/com.pollux.backup.plist: Invalid property list

He comprobado el plist con plutil:

LaunchDaemons pollux$ plutil com.pollux.backup.plist
com.pollux.backup.plist: OK

xmllint sólo muestra el contenido del plist.

Desconecté el SIP:

LaunchDaemons pollux$ csrutil status
System Integrity Protection status: disabled.

¿Alguien tiene una idea de qué probar a continuación?

1voto

aleskva Puntos 64

La clave KeepAlive tuvo que ser retirado del ProgramaArgumentos y debidamente habilitado ( <true/> ).

Así es como funciona ahora:

<?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.pollux.backup</string>
    <key>ProgramArguments</key>
    <array>
     <string>sh</string>
     <string>-c</string>
     <string>/bin/backup_pollux_server</string>
     </array>
     <key>RunAtLoad</key>
     <true/>
     <key>KeepAlive</key>
     <true/>
     <key>StartInterval</key>
     <integer>3600</integer>
     <key>StandardErrorPath</key>
     <string>/tmp/pollux_backup.err</string>
     <key>StandardOutPath</key>
     <string>/tmp/pollux_backup.out</string>
  </dict>
</plist>

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