Логирование ошибок с подробной информацией в Bash

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

bashлогированиескрипты

👁 Когда вы пишете скрипты для автоматизации или администрирования, полезно логировать все ошибки с подробной информацией (например, о времени, где произошла ошибка, и какой командой она вызвана). В Bash это можно легко реализовать с помощью простого скрипта.

📝 Пример кода:

#!/bin/bash

# Функция для логирования ошибок
log_error() {
    echo "$(date '+%Y-%m-%d %H:%M:%S') [ERROR] $1" >> /var/log/my_script.log
}

# Пример команды, которая может вызвать ошибку
run_command() {
    command="ls /nonexistent_folder"
    if ! $command; then
        log_error "Command '$command' failed"
    fi
}

# Запуск команды
run_command

📌 Как это работает:

  • log_error: Функция для записи ошибок в лог-файл. Использует команду date, чтобы добавить временную метку, а затем пишет сообщение об ошибке в лог
  • run_command: В этой функции выполняется команда. Если она завершится с ошибкой (например, ls пытается получить доступ к несуществующей директории), ошибка будет зафиксирована с помощью log_error
  • Логирование происходит в файл /var/log/my_script.log, который должен быть доступен для записи

🔎 Преимущества:

  • — Удобное логирование с указанием времени ошибки
  • — Логирование ошибок поможет при отладке и анализе сбоев
  • — Можно использовать в любом Bash-скрипте для автоматизации, администрирования или DevOps-процессов
  • — Логирование ошибок помогает в мониторинге и дальнейшей автоматической обработке

❗️ Этот способ помогает не только отслеживать ошибки, но и анализировать их, что особенно полезно при работе с большими скриптами и автоматизированными задачами.

tags: #bash #linux #логирование

❤️ @recura_tech

Тёмный скриншот терминала с примером bash-скрипта для логирования ошибок и логотипом RECURA в нижнем левом углу
Скриншот с примером кода Bash и логотипом канала

Читайте так же