@r3star

Как создать Unit беружий инфо о системе или проще допилить скрипт?

Доброе время суток всем продолжаю свое знакомство с башем, возник вопрос можно ли создать Unit, что будет брать инфо о системе или проще изменить что-то в скрипте.

нужно чтобы в логи записывались последние 10 секунд состояния памяти и загрузка Цп =) то есть постоянно =)

и еще одно, как сделать чтобы информация о сетях тоже попадала в логи вроде прописал After=network.service , но не работает =( лог файл пустой =(

[Unit]
Description=make log file ^^
After=network.service
 
[Service]
 
ExecStart=/bin/bash '/restar/scripts/restar2.sh'
Type=forking
 
[Install]
WantedBy=multi-user.target
Alias=bash.service


а вот скрипт что он запускает

#!/bin/bash

for i in $(free > /restar/logs/memory.txt | cat /proc/stat > /restar/logs/cpu.txt) {1..10}  
do
sleep 1
done


for iii in $(journalctl -p err > /restar/logs/errors.txt | ip a > /restar/logs/seti.txt)  
do
echo "all ok"
done
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
xotkot
@xotkot
хорошо есть и хорошо весьма
возник вопрос можно ли создать Unit, что будет брать инфо о системе или проще изменить что-то в скрипте.

основная цель юнита это запуск, остановка и мониторинг вашего скрипта, в общем управление состоянием

и еще одно, как сделать чтобы информация о сетях тоже попадала в логи вроде прописал After=network.service , но не работает =( лог файл пустой =(

оно вообще не для этого, да и target а не service
вы что-то сраное совсем делаете, особенно извращение с пайпами(pipe - "|" ) умиляет ))

нужно чтобы в логи записывались последние 10 секунд состояния памяти и загрузка Цп =) то есть постоянно =)

так вы определитесь, постоянно или последние 10 секунд
если только последние 10 секунд то зачем вам юнит ?
Если постоянно, например, раз в секунду считывать информацию с нужных вам утилит то лучше наверное использовать для этого systemd таймер который и будет периодически запускать ваш юнит который в свою очередь будет управляет вашим скриптом из нескольких команд:
free >> /restar/logs/memory.txt &
cat /proc/stat >> /restar/logs/cpu.txt &
...


полезные ссылки
Работа с Journal и не только
systemd/Timers
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
Вы выясните как работает ваш мониторинг, почитайте справку по journalctl, чтобы понять что именно выхотите смотреть, а потом уже башем можно что-то выкусывать. Это вопрос не по башу
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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