Экспериментирую с gnuplot для отображения разной информации о машине. Решил попробовать наблюдать за напряжением в сети. Написал вот такой скрипт:
#!/bin/sh LOGFILE=voltage.log IMGFILE=/home/ftp/pub/voltage.png while [ 1 ] do #read new voltage date +%H:%M|head -c 5 >> $LOGFILE upsc ippon600@localhost|grep input.voltage|tail -c 7 >> $LOGFILE #recreate image gnuplot <<END set terminal png size 800,600 set output "$IMGFILE" set xdata time set timefmt "%H:%M" set grid set title "UPS Input Voltage" set ylabel "Voltage (V)" set xlabel "Time" set time plot [*:*][0:*] "$LOGFILE" using 1:2 with linespoints title "input" END sleep 60 done
Не нравится, что время на графике отображается как ММ:СС если час одинаковый для всех точек. И это при том, что формат указан как ЧЧ:ММ. Как можно исправить? Вот картинка за короткий промежуток: http://dimkas.homelinux.org/voltage1.png, а вот что собралось на данный момент: http://dimkas.homelinux.org/voltage.png
Ну и по самому скрипту… Сдаётся мне, что вместо всех этих head и tail можно использовать что-то другое. Только я не знаю, что… upsc возвращает такие строки:
dimka@box:~$ upsc ippon600@localhost battery.charge: 100.0 battery.voltage: 13.6 driver.name: ippon driver.parameter.port: /dev/ttyS0 driver.version: 2.0.4 driver.version.internal: 0.02 input.frequency: 49.9 input.voltage: 206.0 output.voltage: 206.0 ups.load: 009 ups.mfr: Ippon ups.model: universal driver ups.status: OL ups.temperature:
Как можно покрасивее вытащить значения для input.voltage и output.voltage?
+++
Только что обнаружил, что при переходе от 23:59 к 00:00 появляется очень интересный глюк. Видимо, надо добавить еще и дату, чтоб построение шло нормально..
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Вот, что мне было нужно:
Теперь проблем быть не должно. Скоро проверю.
Остался вопрос о красивом извлечении нужного параметра из строки разделённой пробелами. Подскажете — буду рад, а нет — сам нагуглю :)
а не лучше ли занести содержимое цикла в отдельный скрипт и настроить cron-task для генерации картинки?
Genie, спасибо! Про awk как раз этой ночью в LinuxFormat читал. Скрипт перенесу в крон после того, как выбью из него всё, что мне нужно =)
Еще вопрос вылез. Есть вот эти две строки:
Можно ли как-то оба числа сразу вытащить и через пробел в файл дописать? Или надо два раза выполнять команду с разными параметрами для awk?
Вот конечный (надеюсь) результат: