Баш прогноз заморозков для садоводов?

В системе RHEL с помощью systemctl я внес следующее изменение. Я добавил команду «/bin/at now», чтобы запустить службу через минуту. В моем случае я изменил команду остановки на:

ExecStop=/bin/sh -c '/usr/bin/vncserver -kill -9 %i > /dev/null 2>&1; echo "systemctl start vncserver@:1.service" | /bin/at now + 1 minute || :'

Я отредактировал:/etc/systemd/system/vncserver@ :1.service

После внесения изменений выполните эту команду, чтобы обновить систему:демон systemctl -перезагрузить

0
14.02.2021, 05:12
1 ответ

Вот небольшой bash-скрипт, который я написал, и он сделает то, что вам нужно. Это будет проверять только текущий день и 2 дня в будущем, поскольку это то, что wttr.in возвращает по умолчанию, но я уверен, что вы можете найти какой-то вариант, чтобы расширить его, если это необходимо. Возможно, вам придется поиграть с частью сценария отправки почты в зависимости от используемой вами системы и доступных опций, но это, безусловно, вызовет другой вопрос, если вы застрянете на нем. Вы можете добавить этот скрипт в свой crontab в качестве ежедневной работы и получать электронные письма о приближающихся температурах замерзания.

Если фермеры используют что-то вроде pagerduty, (ха, )вы можете изменить почтовую часть на веб-перехватчик, чтобы отправлять им оповещения через него, или просто по электронной почте на адрес pagerduty.

#!/usr/bin/env bash

json=$(curl -Ss "wttr.in/paris?format=j1")

for ((i=0;i<=2;i++)); do
    date=$(jq -r --arg index "$i" '.weather[$index | tonumber] |.date' <<<"$json")
    temp=$(jq -r --arg index "$i" '.weather[$index | tonumber] |.mintempC' <<<"$json")
    if [[ $temp -le 0 ]]; then
        mail -s "There will be frost on $date ($temp degrees)" youremail@example.com
    fi
done
1
18.03.2021, 22:31

Теги

Похожие вопросы