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:

  1. execute um script A. script a return "success" if time is between 6:00AM and 3PM.caso contrário, volta "falhar".
  2. em "success" execute um script de shell C ou em "Fail" execute shell script B.
  3. Script B e Script C enviar e-mail com "sucesso" ou "falha" no assunto linha.
Por favor, ajude-me a resolver o problema acima.

Obrigado.
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