SRV_ADMIN_LINUX Telegram 697
📌 Bash скрипт для поиска больших файлов и уведомление админа

1. Находит файлы больше заданного порога (в мегабайтах).
2. Генерирует отчёт и отправляет уведомление администратору (например, на почту или в лог).

Скрипт: check_large_files.sh


#!/usr/bin/env bash

# --------------------------------------------
# Скрипт для поиска «тяжёлых» файлов и уведомления
# Автор @i_odmin_book
# --------------------------------------------

# Порог размера в мегабайтах (можно изменить по-своему)
THRESHOLD=100

# Директория для сканирования (можно указать любую)
DIR="/var/log"

# Файл для временного отчёта
REPORT="/tmp/large_files_$(date +%Y%m%d_%H%M%S).txt"

# Адрес почты администратора (пример)
ADMIN_EMAIL="[email protected]"

# Найти файлы больше порога и сохранить в отчёт
echo -e "🔎 Поиск файлов > ${THRESHOLD}M в директории: ${DIR}\n" > "$REPORT"
find "$DIR" -type f -size +"${THRESHOLD}"M -printf "%p (%s bytes)\n" >> "$REPORT"

# Если отчёт не пустой, отправляем уведомление
if [[ -s "$REPORT" ]]; then
echo -e "📬 Отправляем отчёт администратору: ${ADMIN_EMAIL}"
mail -s "Отчёт: большие файлы на $(hostname)" "$ADMIN_EMAIL" < "$REPORT"
else
echo " Файлов больше ${THRESHOLD}M не найдено."
fi

# Дополнительно: можно логировать в файл
LOGFILE="/var/log/check_large_files.log"
echo "$(date +'%Y-%m-%d %H:%M:%S') - Проверка завершена. Отчёт: $REPORT" >> "$LOGFILE"



Описание работы

1. THRESHOLD — порог размера в мегабайтах, выше которого файл считается «большим».
2. DIR — директория, где ищем большие файлы (по умолчанию /var/log, но можно изменить).
3. Команда find "$DIR" -type f -size +"${THRESHOLD}"M -printf "%p (%s bytes)\n":

▪️ -type f — только файлы.
▪️ -size +<число>M — размер больше заданного числа мегабайт.
▪️ -printf "%p (%s bytes)\n" — выводим полный путь и точный размер в байтах.
4. Результат пишется в временный файл ${REPORT}.
5. Проверка if [[ -s "$REPORT" ]]; then … fi:

▪️ Если отчёт непустой (-s), отправляем его на почту с помощью mail (или любую другую команду уведомления).
▪️ В противном случае выводим сообщение об отсутствии «тяжёлых» файлов.
6. Логируем факт запуска в /var/log/check_large_files.log.


Дополнительные улучшения

▪️ Регулярные выражения: можно искать по шаблону, например, только логи с ротацией:


find "$DIR" -regextype posix-extended -regex ".*/.*\.log\.[0-9]+" -size +"${THRESHOLD}"M -printf "%p (%s bytes)\n"


Здесь -regex найдёт файлы вроде syslog.1, auth.log.2, и игнорирует обычные *.log.
▪️ Cron-задача: чтобы проверять раз в день, добавьте в crontab -e:


0 8 * * * /usr/local/bin/check_large_files.sh


Это запустит скрипт каждый день в 8:00 утра и сразу уведомит вас, если что-то «не так».
4👍1🔥1



tgoop.com/srv_admin_linux/697
Create:
Last Update:

📌 Bash скрипт для поиска больших файлов и уведомление админа

1. Находит файлы больше заданного порога (в мегабайтах).
2. Генерирует отчёт и отправляет уведомление администратору (например, на почту или в лог).

Скрипт: check_large_files.sh


#!/usr/bin/env bash

# --------------------------------------------
# Скрипт для поиска «тяжёлых» файлов и уведомления
# Автор @i_odmin_book
# --------------------------------------------

# Порог размера в мегабайтах (можно изменить по-своему)
THRESHOLD=100

# Директория для сканирования (можно указать любую)
DIR="/var/log"

# Файл для временного отчёта
REPORT="/tmp/large_files_$(date +%Y%m%d_%H%M%S).txt"

# Адрес почты администратора (пример)
ADMIN_EMAIL="[email protected]"

# Найти файлы больше порога и сохранить в отчёт
echo -e "🔎 Поиск файлов > ${THRESHOLD}M в директории: ${DIR}\n" > "$REPORT"
find "$DIR" -type f -size +"${THRESHOLD}"M -printf "%p (%s bytes)\n" >> "$REPORT"

# Если отчёт не пустой, отправляем уведомление
if [[ -s "$REPORT" ]]; then
echo -e "📬 Отправляем отчёт администратору: ${ADMIN_EMAIL}"
mail -s "Отчёт: большие файлы на $(hostname)" "$ADMIN_EMAIL" < "$REPORT"
else
echo " Файлов больше ${THRESHOLD}M не найдено."
fi

# Дополнительно: можно логировать в файл
LOGFILE="/var/log/check_large_files.log"
echo "$(date +'%Y-%m-%d %H:%M:%S') - Проверка завершена. Отчёт: $REPORT" >> "$LOGFILE"



Описание работы

1. THRESHOLD — порог размера в мегабайтах, выше которого файл считается «большим».
2. DIR — директория, где ищем большие файлы (по умолчанию /var/log, но можно изменить).
3. Команда find "$DIR" -type f -size +"${THRESHOLD}"M -printf "%p (%s bytes)\n":

▪️ -type f — только файлы.
▪️ -size +<число>M — размер больше заданного числа мегабайт.
▪️ -printf "%p (%s bytes)\n" — выводим полный путь и точный размер в байтах.
4. Результат пишется в временный файл ${REPORT}.
5. Проверка if [[ -s "$REPORT" ]]; then … fi:

▪️ Если отчёт непустой (-s), отправляем его на почту с помощью mail (или любую другую команду уведомления).
▪️ В противном случае выводим сообщение об отсутствии «тяжёлых» файлов.
6. Логируем факт запуска в /var/log/check_large_files.log.


Дополнительные улучшения

▪️ Регулярные выражения: можно искать по шаблону, например, только логи с ротацией:


find "$DIR" -regextype posix-extended -regex ".*/.*\.log\.[0-9]+" -size +"${THRESHOLD}"M -printf "%p (%s bytes)\n"


Здесь -regex найдёт файлы вроде syslog.1, auth.log.2, и игнорирует обычные *.log.
▪️ Cron-задача: чтобы проверять раз в день, добавьте в crontab -e:


0 8 * * * /usr/local/bin/check_large_files.sh


Это запустит скрипт каждый день в 8:00 утра и сразу уведомит вас, если что-то «не так».

BY Админские угодья


Share with your friend now:
tgoop.com/srv_admin_linux/697

View MORE
Open in Telegram


Telegram News

Date: |

During a meeting with the president of the Supreme Electoral Court (TSE) on June 6, Telegram's Vice President Ilya Perekopsky announced the initiatives. According to the executive, Brazil is the first country in the world where Telegram is introducing the features, which could be expanded to other countries facing threats to democracy through the dissemination of false content. Don’t publish new content at nighttime. Since not all users disable notifications for the night, you risk inadvertently disturbing them. End-to-end encryption is an important feature in messaging, as it's the first step in protecting users from surveillance. Write your hashtags in the language of your target audience. Activate up to 20 bots
from us


Telegram Админские угодья
FROM American