👁 Когда ты часто работаешь с серверами, автоматизацией или отладкой скриптов, хочется, чтобы команды логировались не просто текстом, а с временными метками, статусами и сохранялись в лог. Вот простая Bash-функция, которая делает именно это.
📝 Код:
log_exec() {
echo "$(date '+%Y-%m-%d %H:%M:%S') ⏳ $*" | tee -a script.log
"$@" >> script.log 2>&1
local status=$?
echo "$(date '+%Y-%m-%d %H:%M:%S') ✅ Done ($status)" | tee -a script.log
return $status
}📌 Как использовать:
log_exec apt update log_exec systemctl restart nginx log_exec ./deploy.sh
🔎 Что делает:
- Логирует каждую команду с меткой времени
- Сохраняет вывод в script.log
- Показывает статус завершения
- Подходит для деплой-скриптов, cron-задач, CI/CD
⚡️ Работает на любом Linux, не требует зависимостей. Можно расширить для логирования в syslog, цветного вывода или отправки в Prometheus Pushgateway.
tags: #полезно #bash #логирование
❤️ @recura_tech



