Escribí un script de bash que hace una copia de seguridad de ciertos archivos en mi computadora. Para automatizar la ejecución del script, configuro un demonio asociado que ejecuta el script todos los días.
Hay ciertas instancias en las que me gustaría que el demonio imprima mensajes de error. Por ejemplo, mi script depende de la estructura de mi directorio y se ejecutará incorrectamente si muevo ciertos directorios. Si los directorios de mi sistema no coinciden con los de la secuencia de comandos, me gustaría que el demonio transmita un mensaje de error para que pueda actualizar la secuencia de comandos.
Aquí está el problema: si solo estuviera ejecutando el script en el terminal, fácilmente podría imprimir un mensaje de error al terminal. Pero cuando el demonio ejecuta el script, no imprime nada en el terminal. (¿Se imprime el demonio en algo? ¿Adónde va el texto impreso?)
Puedo ver varias formas en que el demonio le informa al usuario sobre un error:
- Use el comando
wall
en el script para imprimir el error a todos los usuarios - Use el comando
launchctl -list
para verificar manualmente el código de salida del demonio (que el usuario debe recordar hacer) - El script debe escribir en un archivo de registro / error externo creado por el usuario (que el usuario debe notar / verificar)
- Use ASL o Syslog (consulte Mac Developer Library ) por ejemplo escribe el error en un archivo
.asl
La opción 1 parece demasiado simple. Las opciones 2 y 3 se sienten insatisfactorias porque solo funcionan si el usuario recuerda revisar algo. No sé mucho sobre la Opción 4, pero parece que está creado para tipos de errores más complicados.
¿Cuál es la forma recomendada para que un demonio le informe al usuario sobre un error? (¿Es esta una pregunta para el desbordamiento de pila?)