Служба Unix-состояние-все / команда grep в сообщение электронной почты - команда не найдена.
Вечер
я пытаюсь автоматизировать электронную почту о состоянии службы из выбранного числа служб. когда я запускаю скрипт с помощью sh-x ./myscriptname.sh это работает абсолютно нормально. Но при установке в качестве cron я получаю постоянную ошибку
service: command not found
Сценарий оболочки выглядит следующим образом:
#!/bin/sh service --status-all | grep 'tomcat\|xcoder\|sshd\|xinetd' | mail -s "$(hostname) Daily Service Status Monitor" -r "no-reply@no-company.com" -S smtp="x.x.x.x:25" my.email@address.co.uk
Почта, которую я получаю, это:
Content-Type: text/plain; charset=UTF-8 Auto-Submitted: auto-generated X-Cron-Env: <LANG=en_US.UTF-8> X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <HOME=/root> X-Cron-Env: <PATH=/usr/bin:/bin> X-Cron-Env: <LOGNAME=root> X-Cron-Env: <USER=root> Date: Mon, 4 Dec 2017 19:32:01 +0000 (WET) Status: R /etc/cron.daily/myscriptname.sh: line 2: service: command not found Null message body; hope that's ok
буду признателен, если кто-нибудь прольет на это свет.
Что я уже пробовал:
<pre lang="c#"> #!/bin/sh output=$(service --status-all | grep 'tomcat\|xcoder\|sshd\|xinetd') echo $output | mail -s "$(hostname) Daily Service Status Monitor" -r "no-reply@no-company.com" -S smtp="x.x.x.x:25" my.email@address.co.uk