Практика
Вопросы
Куда программы ведут свои логи?
Что такое syslog? Как программы отправляют логи в syslog?
Какие обьекты логирования есть у syslog?
В чем отличие journald от rsyslog?
Зачем в системе два демона логирования?
Как сделать так, чтобы логи с journald оставались после перезагрузки?
Как изменить время хранения логов journald?
Как посмотреть сообщения ядра?
Как посмотреть логи определённого сервиса?
Как посмотреть последние логи сервиса?
Как посмотреть логи с последнего запуска системы?
Что такое ротация логов и как её настроить?
Как отправить свои сообщения в syslog?
Как смотреть логи определённого сервиса в реальном времени?
Задания
Создайте скрипт, который будет создавать файл. После чего скрипт будет прописывать последнюю строчку из сообщений syslog в этот файл. Затем будет отправлять в syslog своё сообщение - «Logs collected».
Настройте rsyslog, чтобы логи, посланные этим скриптом, сохранялись в отдельном файле «collect.log» в директории /var/log.
Настройте ротацию этих логов, чтобы они сохранялись на протяжении месяца с еженедельной ротацией.
Запустите скрипт и убедитесь, что все ранее проделанные шаги выполнили свою задачу.
Создайте скрипт, который будет отправлять логи в syslog – This is normal log → debug, This is error → error и This is critical error → crit. Настройте syslog, чтобы записывал эти логи в соответствующие файлы - /var/log/mylog.debug, /var/log/mylog.crit, /var/log/mylog.error. Настройте ротацию этих логов, чтобы они ротировались 5 раз. debug и error должны ротировались ежедневно, debug с сжатием, а error без сжатия. crit должен ротироваться раз в неделю.
Создайте файл /etc/allowedusers, в котором пропишите логин своего пользователя. Создайте скрипт, который сначала проверит, имеет ли данный текущий пользователь право запускать скрипт (пользователь должен быть в списке /etc/allowedusers). Если прав нету, то следует вывести на экран сообщение «This incident will be reported», а в syslog в секцию error написать «User username tried to run this script!». После запуска скрипт должен вывести содержимое директории /data/. После чего предложить пользователю указать имя файла и указать дату и время модификации для смены.