Сегодня я хочу поделиться простым, но очень полезным Bash-скриптом для автоматического резервного копирования директорий с ротацией старых бэкапов. Такой скрипт пригодится, если необходимо сохранять копии важных данных и при этом не засорять диск старыми архивами.
🔄 Скрипт: Backup с ротацией
#!/usr/bin/env bash
# ================================
# Скрипт: backup_rotate.sh
# Автор: https://t.m…
🕵️♂️ Мониторим новые файлы в каталоге в реальном времени
Иногда нужно узнать, когда в определённой папке появляются новые файлы. Bash + inotifywait помогут:
inotifywait -m -e create --format '%w%f' /path/to/dir | while read NEWFILE; do
echo "🆕 Новый файл: $NEWFILE"
done
📦 Объяснение:
• inotifywait -m - постоянный мониторинг
• -e create - событие создания
• —format '%w%f' - полный путь к н…
🧹 Bash-скрипт для очистки старых логов с уведомлением
Иногда логи занимают слишком много места, и их нужно периодически чистить. Этот скрипт удаляет логи старше 14 дней в заданной папке и шлёт уведомление на почту, если удалено более 500 МБ.
#!/bin/bash
LOG_DIR="/var/log"
DAYS=14
MAX_REMOVED_MB=500
EMAIL="admin@yourdomain.com"
# Подсчитываем общий размер файлов, которые будут удалены
REMOVED_…
🚀 Мониторим активные подключения к серверу по SSH
Иногда нужно быстро узнать, кто сейчас подключён к серверу по SSH. Вот простой однострочный скрипт:
who | grep 'pts' | awk '{print $1, $2, $5}'
Что делает этот скрипт?
* who — выводит список всех вошедших пользователей.
* grep 'pts' — фильтрует только те строки, что связаны с терминалами SSH.
* awk '{print $1, $2, $5}' — красиво выводит имя п…
🚀 Полезный Bash-скрипт для архивации старых логов 🚀
Иногда логи на сервере растут быстрее, чем хочется, и начинают занимать всё свободное место. Предлагаю простой скрипт, который:
1. Находит файлы с расширением .log, изменённые более чем N дней назад.
2. Архивирует их в тарболл с датой.
3. Удаляет оригиналы после успешного архива.
#!/usr/bin/env bash
#
# Архивация старых логов >7 дней
# Сохран…
✨ Извлечение уникальных IP-адресов из логов Apache ✨
Иногда нужно быстро получить список всех клиентов, обращавшихся к вашему веб-серверу. Мини-скрипт на Bash с регулярным выражением поможет вытащить и сохранить все уникальные IP-адреса:
#!/usr/bin/env bash
# 📁 Файл логов Apache
LOG_FILE="/var/log/apache2/access.log"
# 📄 Файл для сохранения уникальных IP
OUT_FILE="/var/log/unique_ips_$(date +…
🗑️ Bash-совет дня: safe_rm - «корзина» для удаляемых файлов
Сколько раз вы случайно удаляли важный конфиг? Давайте сделаем rm более дружелюбным — вместо мгновенного уничтожения файлы будут складываться в «корзину» и автоматически очищаться спустя 30 дней.
#!/usr/bin/env bash
# safe_rm — перемещает удаляемые файлы в локальную «корзину»
TRASH_DIR="$HOME/.local/share/Trash/files" # куда склады…
⚙️ Bash: Мониторинг пользователей в системе в реальном времени
Иногда нужно понять, кто из пользователей сейчас в системе и что они делают. Встречай удобную команду на базе watch и w:
watch -n 2 w
📌 Что делает эта команда:
* watch -n 2 — каждые 2 секунды выполняет указанную команду
* w — показывает, кто залогинен, откуда, сколько времени в системе и что выполняет
👀 Отлично подходит для ситу…
Проверка открытых портов без использования netstat
Утилита netstat считается устаревшей (deprecated). В современных дистрибутивах Linux стандартом для диагностики сокетов является ss (socket statistics). Она работает быстрее и потребляет меньше ресурсов ядра.
Команда:
ss -tulpn
Ключи:
-t: TCP сокеты.
-u: UDP сокеты.
-l: Только слушающие (listening) сокеты.
-p: Показать процесс, использ…
🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный …