- Для запуска запустить
itclog_start.sh
илиitclog.sh start
- Для просмотра статуса запустить
itclog_status.sh
илиitclog.sh status
- Для останова запустить
itclog_stop.sh
илиitclog.sh stop
- Для перезапуска запустить
itclog_restart.sh
илиitclog.sh restart
- Для безусловного останова запустить
itclog_kill.sh
илиitclog.sh kill
- Для удаления ВСЕХ логов
itclog_clean.sh
илиitclog.sh clean
Все настройки производятся корректировкой файла "itclog.conf.sh". Главное - это установить переменную CMD, которая определяет имя процесса, ресурсы которого записываются в журнал через заданные промежутки времени.
Логи имеют формат CSV (common separated value). Первой строкой идут названия столбцов:
DateTime
- дата/время в формате YYYY.MM.DD-hh:mm:ssPID
- идентификатор процессаRSz
- объем занятой процессом резидентной физической памяти в килобайтах (1024 байта)VSz
- объем занятой процессом виртуальной памяти в килобайтах (1024 байта)Mem
- процент занятой процессом общей памятиCPU
- процент загрузки процессора данным процессомUser
- имя пользователя, от имени которого запущен процессUpTime
- время работы процессаCommand
- команда, с помощью которой был запущен процесс
Работа сценария основана на использовании утилиты ps
.
В каталоге, где размещается сценарий itclog.sh
при запуске сценария
создается файл itclog.pid
, который содержит PID фонового процесса.
Создается два типа файлов журналов в формате CSV:
-
itclog.csv
- информация обновляется раз в час, если не заданно в конфигурации иное. Ротация логов не производится, файл непрерывно увеличивается. -
itclog.N.csv
- оперативный лог обновляется раз в минуту (если иное не задано в конфигурации),N
изменяется от 0 до 9 каждый час. Таким образом, оперативная информация хранится за последние 9-10 часов. Последний (текущий) лог имеет N=0 (т.е. производится т.н. "ротация" логов).
Используйте например такую команду:
tail -n 1 -f itclog.0.csv
или
tail -f itclog.csv
- Сценарий данной версии не будет корректно работать, если имя программы (CMD) содержит пробелы.
- По хорошему нужно добавить flock для надежного предотвращения повторного запуска сценария как фонового процесса.