Страницы

среда, 14 сентября 2016 г.

Запись вывода терминала linux в лог файл

Полезная заметка для тех кто часто конфигурирует устройства с использованием telnet
На самом деле telnet тут только для примера , можно без проблем сконфигурировать под любой другой протокол.


Сам скрипт: 


Для примера имя файла term_logging.sh в домашней директории

#!/bin/bash
#This script used for terminal logging

HOST=$1

LOGFILE=`date +%d%m%Y-%H%M%S`-$HOST
script -c "telnet $HOST" /var/log/term_log/$LOGFILE.log


Делаем исполняемым

chmod +x term_logging.sh

Создаем директорию под логи (<username> заменить на имя вашего пользователя)

sudo mkdir /var/log/term_log/
sudo chown <username> /var/log/term_log/

Добавляем в алиасы:

echo "alias te='./term_logging.sh'" >> .bash_aliases

Пользуемся

te 192.168.1.1
Скрипт запущен, файл — /var/log/term_log/24072016-144752-192.168.1.1.log
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.

MikroTik v6.35.1 (stable)

Login: admin
Password: 

[admin@MikroTik] > quit

interrupted
           Connection closed by foreign host.
Скрипт выполнен, файл - /var/log/term_log/24072016-144752-192.168.1.1.log

По завершению сеанса telnet - запись останавливается.

Делаем backup для логов.



#!/bin/bash
#log backup script
DATE=$(date +%Y%m%d-%H%M%S)
logger "TERM_LOGS: Backup started"
tar --remove-files -cvzf /home/<username>/backup_$DATE.tar.gz /var/log/term_log/*
logger "TERM_LOGS: Backup completed."

Добавляем в cron бэкап один раз в неделю


0 5 * * 5 bash /home/<username>/term_logging_backup.sh



Комментариев нет:

Отправить комментарий