Ho bisogno di aiuto per risolvere uno script di shell che non verrà avviato (sì, le autorizzazioni sono 755)

1

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}
    
posta Jeff Porten 02.01.2018 - 11:04
fonte

0 risposte

Leggi altre domande sui tag