programador de Tarefas sos
estou a usar o programador sos job scheduler que suporta muitos idiomas.eu aceito o script shell para escrever trabalhos, mas eu não sou um script shell escritor.quero implementar os seguintes pontos na agenda do trabalho:
- execute um script A. script a return "success" if time is between 6:00AM and 3PM.caso contrário, volta "falhar".
- em "success" execute um script de shell C ou em "Fail" execute shell script B.
- Script B e Script C enviar e-mail com "sucesso" ou "falha" no assunto linha.
1
Author: Sameek Mishra, 2010-08-18
2 answers
Existem dois utilitários de linha de comando que são úteis neste caso:
-
date
: mostra a hora/data actual num formato especificado. -
mail
: envia e-mail da linha de comandos.
Uma vez que só precisamos da hora completa para a nossa lógica, eu uso o formato de data "+%H" (hora de 0-23). Isto dá a seguinte base de script:
#!/bin/sh
hour=$(date +%H)
if [ $hour -gt 6 -a $hour -lt 15 ]; then
echo "message body" | mail -s Success <your e-mail address>
else
echo "message body" | mail -s Failure <your e-mail address>
fi
1
Author: schot, 2010-08-19 15:01:19
#!/bin/bash
hour=$(date +%H)
recipient="root"
case "$hour" in
[6-9]|1[0-5])
subject="success"
body="message"
;;
*)
subject="failure"
body="message"
;;
esac
echo $body | mailx -s "$subject" "$recipient"
0
Author: ghostdog74, 2010-08-20 04:16:28