| Канал | Публикаций | Подписчиков | Последний пост |
|---|---|---|---|
|
Хакер Free
[max]
|
17 | 3133 | 23.08.26 |
|
Базы Данных (Data Base) …
[max]
|
17 | 2876 | 23.08.26 |
|
C++ Developer • Cpp Syst…
[max]
|
17 | 2447 | 23.08.26 |
Бизнес Инфо #2031
[max]
|
32 | 234194 | 03.07.26 |
Медиа Про #6735
[max]
|
31 | 116006 | 28.07.26 |
Tech Daily #4062
[max]
|
23 | 457048 | 20.07.26 |
Tech Daily #3522
[max]
|
33 | 379377 | 06.09.26 |
| Канал | Публикаций | Подписчиков | Последний пост |
|---|---|---|---|
Bash Советы
[telegram]
|
4 | 2730 | 16.09.26 |
|
IT мероприятия России / …
[max]
|
2 | 1694 | 24.08.26 |
|
Книги для программистов
[max]
|
16 | 3481 | 23.08.26 |
Новости дня #2028
[max]
|
5 | 196861 | 15.08.26 |
Авто Мир #8274
[max]
|
43 | 191077 | 11.09.26 |
Криптовалюта Pro #8645
[max]
|
16 | 314912 | 01.08.26 |
Digital Media #2977
[max]
|
2 | 87088 | 02.07.26 |
Загрузка данных...
| Размещенный пост | Текст публиакции | Рекламирующий канал | Просмотры | Просмотры 24 ч | Прирост подписчиков |
|---|
Загрузка данных...
| Размещенный пост | Текст публикации | Рекламируемый канал | Просмотры | Просмотры 24 ч | Прирост подписчиков |
|---|
| Дата и время публикации | Текст публикации | Рекламируемый канал | Динамика просмотров | Всего просмотров |
|---|---|---|---|---|
| 2026-09-21 10:30:42 | 💡 Bash-совет: Анализ самых активных IP в логах веб-сервера 🐚🚀 Когда на сервере много трафика, полезно быстро узнать, какие IP-адреса обращаются к веб-серверу больше всего. Предлагаю скрипт, который: 1. Извлекает IP из access.log (или любого другого лог-файла). 2. Считает количество запросов от каждого IP. 3. Сортирует и показывает топ N «запросчиков». 📋 Скрипт: top_ips.sh #!/usr/bin/env bash # -------------------------------------------- # Скрипт для поиска топ-N IP-адресов в логах # Автор: @bash_srv # -------------------------------------------- # Путь к лог-файлу (по умолчанию /var/log/nginx/access.log) LOGFILE="/var/log/nginx/access.log" # Сколько адресов показать (по умолчанию 10) TOP_N=10 # Временный файл для списка всех IP TEMP="/tmp/all_ips_$(date +%Y%m%d_%H%M%S).txt" # Проверка, что лог-файл существует if [[ ! -f "$LOGFILE" ]]; then echo "❌ Лог-файл '$LOGFILE' не найден!" exit 1 fi echo "🔎 Извлекаем IP-адреса из $LOGFILE и рассчитываем топ $TOP_N..." # 1. Извлекаем первый столбец (обычно там IP), записываем во временный файл awk '{print $1}' "$LOGFILE" > "$TEMP" # 2. Считаем повторы, сортируем по убыванию, выводим топ N echo -e "\n📊 Топ $TOP_N IP-адресов (по количеству запросов):" sort "$TEMP" | uniq -c | sort -nr | head -n "$TOP_N" | awk '{printf "%s запросов — %s\n", $1, $2}' # 3. Убираем временный файл rm -f "$TEMP" echo -e "\n✅ Готово!" 📝 Как это работает 1. LOGFILE — путь к вашему файлу логов Nginx/Apache. Для Apache обычно /var/log/apache2/access.log, для Nginx — /var/log/nginx/access.log. Если у вас другой путь, просто адаптируйте переменную LOGFILE. 2. Команда awk '{print $1}' "$LOGFILE": Берёт первый столбец в каждой строке лога (IP-адрес). Сохраняет все адреса во временный файл $TEMP. 3. sort "$TEMP" | uniq -c | sort -nr | head -n "$TOP_N": sort упорядочивает список IP по возрастанию. uniq -c объединяет подряд идущие одинаковые строки и выводит количество повторений. Второй sort -nr сортирует по числу запросов (включая самое большое значение сверху). head -n "$TOP_N" берёт первые N строк (топ N IP). 4. awk '{printf "%s запросов — %s\n", $1, $2}' форматирует вывод: Например: 1234 запросов — 192.168.1.100. 5. По завершении удаляется временный файл $TEMP для чистоты. 🔧 Как улучшить и кастомизировать Датафильтрация: если нужен анализ только за последние N дней, можно применять grep с date: # Пример: IP-адреса из логов за сегодня TODAY=$(date '+%d/%b/%Y') grep "$TODAY" "$LOGFILE" | awk '{print $1}' > "$TEMP" Здесь date '+%d/%b/%Y' выдаёт, например, 05/Jun/2025, что совпадает со строками формата Nginx-лога. Анализ URL: можно аналогично извлекать запрашиваемые URL: awk '{print $7}' "$LOGFILE" | sort | uniq -c | sort -nr | head -n 10 Это покажет топ-10 запрашиваемых путей. Выгрузка в файл/почту: чтобы сохранить результаты или отправить их администратору: OUTPUT="/tmp/top_ips_report.txt" sort "$TEMP" | uniq -c | sort -nr | head -n "$TOP_N" > "$OUTPUT" mail -s "Топ IP-адресов на $(hostname)" admin@example.com < "$OUTPUT" Интеграция в cron: автоматизируйте ежедневный отчёт: # crontab -e 30 0 * * * /usr/local/bin/top_ips.sh >> /var/log/top_ips.log Это запустит скрипт каждый день в 00:30 и добавит результаты в /var/log/top_ips.log. 🔔 Вывод: Используя этот простой Bash-скрипт, вы сможете в пару команд узнать, какие IP-адреса генерируют наибольшую нагрузку на ваш веб-сервер. Это поможет вовремя выявить подозрительные активности, защититься от DDoS-атак или просто понять, кто чаще всего посещает сайт. 👉 @bash_srv 💡 Bash-совет: Ан… | — |
|
674 |
| 2026-09-17 11:00:09 | ИТ-сообщество, хватит онлайн-митапов – приходите офлайн. 18 сентября в Москве состоится ЛЦТ. Старт Кодинга, открывающее событие восьмого сезона хакатона «Лидеры цифровой трансформации». Деловые сессии, нетворкинг, битва роботов, полигон роверов, зона кодинга и другие активности. 📅 18 сентября, с 15:00 📍 Центр роботизации «Создатели», ул. Миклухо-Маклая, 27А, 3 этаж (м. Беляево) 🔗 Регистрация на событие и подробности по ссылке. Количество мест ограничено! ИТ-сообщество, х… | — |
|
510 |
| 2026-09-16 09:53:03 | Сегодня я хочу поделиться простым, но очень полезным Bash-скриптом для автоматического резервного копирования директорий с ротацией старых бэкапов. Такой скрипт пригодится, если необходимо сохранять копии важных данных и при этом не засорять диск старыми архивами. 🔄 Скрипт: Backup с ротацией #!/usr/bin/env bash # ================================ # Скрипт: backup_rotate.sh # Автор: https://t.me/bash_srv # Описание: Создаёт архив указанной директории, # хранит только последние N бэкапов, удаляя старые. # ================================ # Настройки SOURCE_DIR="/var/www/my_project" # Директория, которую резервируем DEST_DIR="/backups/my_project" # Директория для хранения бэкапов RETENTION_DAYS=7 # Сколько дней хранить бэкапы # Текущее время для имени архива DATE=$(date +"%Y-%m-%d_%H-%M-%S") ARCHIVE_NAME="backup_${DATE}.tar.gz" # Проверяем, что исходная директория существует if [[ ! -d "$SOURCE_DIR" ]]; then echo "❌ Исходная директория $SOURCE_DIR не найдена!" exit 1 fi # Создаём директорию назначения, если её нет mkdir -p "$DEST_DIR" # Создаём архив tar -czf "${DEST_DIR}/${ARCHIVE_NAME}" -C "$(dirname "$SOURCE_DIR")" "$(basename "$SOURCE_DIR")" if [[ $? -eq 0 ]]; then echo "✅ Создан бэкап: ${DEST_DIR}/${ARCHIVE_NAME}" else echo "❌ Ошибка при создании архива!" exit 1 fi # Удаляем старые бэкапы старше RETENTION_DAYS find "$DEST_DIR" -type f -name "backup_*.tar.gz" -mtime +${RETENTION_DAYS} -print -delete echo "🗑️ Удалены бэкапы старше ${RETENTION_DAYS} дней." exit 0 📝 Пояснение к скрипту 1. Настройки переменных: 🔹 SOURCE_DIR — путь к директории, которую нужно сохранить (например, веб-проект, база данных и т.д.). 🔹 DEST_DIR — куда складываем архива (может быть локальная папка или смонтированный удалённый диск). 🔹 RETENTION_DAYS — сколько дней хранить бэкапы. Всё, что старше этого значения, будет удаляться автоматически. 2. Скрипт проверяет, существует ли исходная директория. Если нет — выводит ошибку и завершает работу. 3. Создаётся папка назначения (mkdir -p), чтобы избежать ошибок, если её ещё нет. 4. Делается tar.gz - архив директории, причём для удобства используется команда: tar -czf ${DEST_DIR}/${ARCHIVE_NAME} -C $(dirname $SOURCE_DIR) $(basename $SOURCE_DIR) - Это позволяет не копировать весь путь в архив, а только нужную папку. 5. Если архивирование прошло успешно (код возврата 0) — выводим сообщение об успехе. 6. Далее команда find ищет файлы-архивы старше RETENTION_DAYS дней и удаляет их. Параметр -mtime +N означает “более N дней назад”. Опция -print -delete сначала покажет, что удаляется, а потом удалит. 7. В конце скрипт выводит, сколько старых бэкапов удалено, и завершает работу. 📌 Как использовать 1. Скопируйте скрипт в файл, например: sudo nano /usr/local/bin/backup_rotate.sh 2. Сделайте его исполняемым: sudo chmod +x /usr/local/bin/backup_rotate.sh 3. Отредактируйте переменные в начале скрипта под свои нужды: SOURCE_DIR="/path/to/your/data" DEST_DIR="/path/to/backup/location" RETENTION_DAYS=7 4. Запустите вручную, чтобы протестировать: /usr/local/bin/backup_rotate.sh 5. Если всё работает как надо, добавьте задание в ``````bash crontab``````bash для автоматического запуска. Например, чтобы делать бэкап каждый день в 3:00: sudo crontab -e И добавить строку: 0 3 * * * /usr/local/bin/backup_rotate.sh >> /var/log/backup_rotate.log 2>&1 Здесь мы также перенаправляем вывод в лог-файл, чтобы отслеживать успешные и неуспешные запуски. 📜 👉 @bash_srv Сегодня я хочу п… | — |
|
947 |
| 2026-08-19 11:45:24 | по неподписчиков Оформите канала Оформите скрыты по неподписчиков… | — |
|
16565 |
Год
Месяц
Неделя
Загрузка данных...
| Время | Контент | Подписчиков | Кто ссылался | Просмотры 48ч | Просмотры 24ч |
|---|