Bash Советы
2.22K subscribers
81 photos
8 videos
6 links
🚀 Секреты и советы по Bash

🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале.
🔹 Автоматизация, скрипты и оптимизация работы в Linux.
🔹 Стать мастером Bash легко – просто подпишись!

💻 Прокачивай терминал вместе с нами! 👇
Download Telegram
🔥 Автоматическая проверка и перезапуск упавших сервисов

Скрипт, который проверяет список сервисов и перезапускает их при необходимости.


#!/bin/bash
# автор: https://t.iss.one/bash_srv

# Список сервисов для проверки
services=("nginx" "mysql" "ssh")

for service in "${services[@]}"; do
if ! systemctl is-active --quiet "$service"; then
echo "$(date '+%Y-%m-%d %H:%M:%S') - $service не работает. Перезапускаем..."
systemctl restart "$service"
# Можно отправить уведомление в Telegram или email
else
echo "$(date '+%Y-%m-%d %H:%M:%S') - $service работает."
fi
done


📌 Как использовать:

1. Сохраните скрипт, например, в /usr/local/bin/service_check.sh.
2. Дайте права на выполнение:


chmod +x /usr/local/bin/service_check.sh

3. Добавьте в cron для регулярной проверки, например, каждые 5 минут:


*/5 * * * * /usr/local/bin/service_check.sh >> /var/log/service_check.log 2>&1


👉@bash_srv
👍8
🚀 Автоматическое обновление пакетов с логированием

Регулярные обновления системы — залог безопасности и стабильности.
Ниже скрипт, который обновляет пакеты и ведёт лог:


#!/bin/bash
# автор: https://t.iss.one/bash_srv

LOGFILE="/var/log/auto_update.log"
DATE=$(date '+%Y-%m-%d %H:%M:%S')

echo "[$DATE] Начало обновления" >> $LOGFILE

if command -v apt &>/dev/null; then
apt update >> $LOGFILE 2>&1
apt -y upgrade >> $LOGFILE 2>&1
elif command -v dnf &>/dev/null; then
dnf -y update >> $LOGFILE 2>&1
elif command -v yum &>/dev/null; then
yum -y update >> $LOGFILE 2>&1
else
echo "[$DATE] Неизвестный пакетный менеджер" >> $LOGFILE
exit 1
fi

echo "[$DATE] Обновление завершено" >> $LOGFILE


📌 Как использовать:

1. Сохраните скрипт, например, /usr/local/bin/auto_update.sh

2. Дайте права на выполнение:

chmod +x /usr/local/bin/auto_update.sh


3. Добавьте в cron для ежедневного запуска:

0 3 * * * /usr/local/bin/auto_update.sh


Теперь сервер будет обновляться сам, а все действия попадут в лог 📜

👉@bash_srv
👍7
🔥 Мониторинг нагрузки на сервер

Иногда нужно быстро понять, какие процессы сильнее всего нагружают систему. Этот скрипт выводит топ-5 «прожорливых» процессов по CPU и RAM 🖥️


#!/bin/bash
# автор: https://t.iss.one/bash_srv
echo "=== Топ-5 процессов по CPU ==="
ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | head -n 6

echo ""
echo "=== Топ-5 процессов по RAM ==="
ps -eo pid,ppid,cmd,%mem --sort=-%mem | head -n 6


📌 Как использовать:

1. Сохраните в файл, например top_procs.sh
2. Сделайте исполняемым:


chmod +x top_procs.sh

3. Запускайте при необходимости:


./top_procs.sh


Так вы всегда будете видеть, что больше всего грузит ваш сервер 🚀

👉@bash_srv
👍7
🔥 Открытый урок «GitLab CI + Ansible: автоматизация инфраструктуры без боли».

🗓 27 августа в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «CI/CD на основе GitLab».

🎯 На вебинаре разберем:

✔️ Как настроить GitLab CI для работы с Ansible
✔️ Организация пайплайна для автоматического запуска Ansible-плейбуков
✔️ Как тестировать и проверять изменения в Ansible до деплоя
✔️ Использование GitLab CI как среды для обучения и отладки Ansible

👥 Кому будет интересно:
- DevOps-инженерам, которые осваивают или уже используют GitLab CI и Ansible, и хотят связать их в единый, автоматизированный процесс
- Начинающим специалистам, изучающим инфраструктурный код и автоматизацию
- Техническим архитекторам, заинтересованным в построении масштабируемых и управляемых CI/CD процессов с Ansible

🎯 Что вы получите:
- Практическое понимание интеграции Ansible с GitLab CI
- Готовые идеи и примеры для запуска и тестирования Ansible-плейбуков
- Уверенность в использовании CI/CD пайплайнов для инфраструктурных задач и конфигурационного менеджмента

🔗 Ссылка на регистрацию: https://vk.cc/cOK226

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Быстрый поиск крупных файлов

Этот скрипт выведет 10 самых больших файлов в указанной директории:


#!/bin/bash
# автор: https://t.iss.one/bash_srv

DIR=${1:-/}

echo "📂 Топ-10 самых больших файлов в $DIR"
du -ah "$DIR" 2>/dev/null | sort -rh | head -n 10


📌 Использование:


./bigfiles.sh /var/log


Выведет список самых "тяжёлых" файлов в /var/log.
Если директория не указана — скрипт проверит весь корень /.

👉@bash_srv
👍72