Podría ser el retraso de la hora, pero no puedo entender por qué el siguiente script no funciona. Es directamente de la documentación de CommuniGate Pro enlace , pero cuando intento ejecutarlo manualmente, los comandos de eco no hacen eco. , y el correo electrónico nunca se envía.
Proceso de instalación: copia de la página web, nombre de archivo sudo pico, pegar, guardar, chmod 755.
Todo funciona bien cuando ejecuto los comandos que llama directamente; el problema es que quiero que estos sean lanzados regularmente por launchd, y los comandos solo funcionan si se ejecutan como ./commandname desde ese directorio base - no tengo idea de cómo hacerlo en launchd y Apple docs no ayuda . (La pregunta se considerará respondida si alguien me dice cómo hacerlo). [Editar: encontró la clave de WorkingDirectory en "man launchd.plist", pero la ayuda en el script de shell aún sería ingeniosa.]
El guión:
#!/bin/sh
SOPHOS_PATH="/var/CommuniGate/CGPSophos"
MAILER_CMD="/usr/bin/mail -s 'Sophos Update Report'"
REPORT_ADR="postmaster"
( \
if [ "$1" = -m ]; then
echo "Launching Sophos monthly update..."
cd ${SOPHOS_PATH}
./monthlyUpdate 2>&1
./engineUpdate 2>&1
fi
echo "Launching Sophos daily update..."
cd ${SOPHOS_PATH}
./dailyUpdate 2>&1
) | eval ${MAILER_CMD} ${REPORT_ADR}