Tengo un bash script imagecopy.sh
que hace una copia de seguridad de las imágenes que se encuentran en un subdirectorio con una cadena de fecha añadida: esto funciona perfectamente cuando lo ejecuto desde el directorio en el que reside - /Users/danny/Library/Caches/
.
El script es
#!/usr/bin/env bash
cat himawaripy/latest.png > himawaripy/output/$(date "+%Y.%m.%d-%H.%M.%S").png
También he añadido el directorio donde se encuentra el script a mi $PATH
utilizando nano .profile
y lo confirmó utilizando echo $PATH
.
/Users/danny/Library/Caches:/Users/danny/anaconda/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/TeX/texbin
Me gustaría ejecutar el bash script periódicamente utilizando un LaunchAgent, ubicado en /Users/danny/Library/LaunchAgents
.
El archivo LaunchAgent com.user.imagecopier.plist
hace referencia a la ubicación de script por las líneas..
..other code
<key>Program</key>
<string>imagecopy.sh</string>
...etc
Supongo que hay un error al enlazar el archivo LaunchAgent con el script, cualquier sugerencia sería muy apreciada.
Editar: Actualización del archivo LaunchAgent según lo sugerido
<?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.user.imagecopier</string>
<key>ProgramArguments</key>
<array>
<string>/Users/danny/Library/Caches/imagecopy.sh</string>
</array>
<key>Nicer</key>
<integer>1</integer>
<key>StartInterval</key>
<integer>60</integer>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
0 votos
¡Gracias @fd0 ! Con los cambios que sugeriste (rutas absolutas) el script ahora se ejecuta correctamente desde cualquier directorio. lamentablemente LaunchAgent sigue sin funcionar... He añadido el archivo actualizado como referencia.
0 votos
El script debe contener rutas absolutas también (o establecer el propio PATH al principio), no sólo el plist de LaunchAgent. También
cat
un archivo a otro parece un poco extraño, sólo tiene que utilizarcp
(si desea conservar el archivo fuente) omv
(si sólo quieres cambiarle el nombre).1 votos
Ah, ¿y por qué usas
<key>ProgramArguments</key>
¿Aquí?