- Куда программы ведут свои логи?
- Что такое 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/. После чего предложить пользователю указать имя файла и указать дату и время модификации для смены.