Potrebbe essere il ritardo dell'ora, ma non riesco a capire perché il seguente script non funzioni. È direttamente dalla documentazione di CommuniGate Pro link , ma quando provo a eseguirlo manualmente, i comandi di eco non fanno eco e l'e-mail non viene mai inviata.
Processo di installazione: copia da pagina web, sudo pico nomefile, incolla, salva, chmod 755.
Tutto funziona correttamente quando eseguo i comandi che chiama direttamente; il problema è che voglio che questi siano lanciati regolarmente da launchd, e che i comandi funzionino solo se vengono eseguiti come ./nomando dalla directory di base- non ho idea di come farlo in launchd e dei documenti Apple che non aiutano . (La domanda sarà considerata risposta se qualcuno mi dice come fare questo.) [Modifica: trovato la chiave WorkingDirectory in "man launchd.plist", ma l'aiuto sulla shell script sarebbe ancora bello.]
Lo script:
#!/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}