планировщик заданий sos - PullRequest
1 голос
/ 18 августа 2010

Я использую планировщик заданий sos, который поддерживает много языков. Я принимаю сценарий оболочки для записи заданий, но я не пишу сценарий оболочки. Я хочу реализовать следующие моменты в планировщике заданий:

  1. выполнить сценарий оболочки A. script Возвращение «success», если время между 6:00 и 15:00. Иначе возвращается «fail».
  2. при успешном выполнении сценария оболочки C или при неудаче выполнение сценария оболочки B.
  3. Сценарий B и сценарий C отправляют сообщения электронной почты со словами «Успех» или «Сбой» в строке темы.

, пожалуйста, помогите мне разобраться с вышеупомянутой проблемой обсуждения.

Спасибо

Ответы [ 2 ]

1 голос
/ 19 августа 2010

В этом случае полезны две утилиты командной строки:

  • date: отображение текущего времени / даты в указанном формате.
  • mail: отправка электронной почты из командной строки.

Поскольку для нашей логики нам нужен только полный час, я использую формат даты "+% H" (час с 0-23). Это дает следующую основу сценария:

#!/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
0 голосов
/ 20 августа 2010
#!/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"
...