📌 Bash-скрипт для автоматического бэкапа MySQL с ротацией
Накидал пример простого скрипта для автоматического бэкапа базы, чтобы всегда была свежая копия, но при этом не захламлять диск старыми дампами.
Как использовать:
1. Сохраните скрипт, например в
2. Дайте права на выполнение:
3. Добавьте в
📦 В результате вы всегда будете иметь 7 последних бэкапов, а старые будут удаляться автоматически.
👉@bash_srv
Накидал пример простого скрипта для автоматического бэкапа базы, чтобы всегда была свежая копия, но при этом не захламлять диск старыми дампами.
#!/bin/bash
# Параметры
# автор: https://t.iss.one/bash_srv
DB_USER="root"
DB_PASS="password"
DB_NAME="my_database"
BACKUP_DIR="/backup/mysql"
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
# Создаём директорию для бэкапов, если нет
mkdir -p "$BACKUP_DIR"
# Делаем дамп базы
mysqldump -u"$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$BACKUP_DIR/${DB_NAME}_${DATE}.sql"
# Оставляем только 7 последних бэкапов, остальные удаляем
ls -1t "$BACKUP_DIR"/*.sql | tail -n +8 | xargs -r rm --
echo "✅ Бэкап базы $DB_NAME создан: ${DB_NAME}_${DATE}.sql"
Как использовать:
1. Сохраните скрипт, например в
/usr/local/bin/mysql_backup.sh
.2. Дайте права на выполнение:
chmod +x /usr/local/bin/mysql_backup.sh
3. Добавьте в
cron
, чтобы бэкап делался каждый день в 3 ночи:
0 3 * * * /usr/local/bin/mysql_backup.sh
📦 В результате вы всегда будете иметь 7 последних бэкапов, а старые будут удаляться автоматически.
👉@bash_srv
👍10❤2👌1
🚀 Быстрое резервное копирование с датой в имени файла
Часто нужно сделать резервную копию файла или каталога, но чтобы не перезаписать старую - лучше добавить в имя дату и время. Ниже скрипт:
💡 Как использовать:
- Поменяйте
- Можно добавить в
🛠 Пример для
📂 Теперь у вас всегда будут версии с точным временем создания!
👉@bash_srv
Часто нужно сделать резервную копию файла или каталога, но чтобы не перезаписать старую - лучше добавить в имя дату и время. Ниже скрипт:
#!/bin/bash
# автор: https://t.iss.one/bash_srv
# Что копируем
SOURCE="/etc/nginx/nginx.conf"
# Куда сохраняем
BACKUP_DIR="/backup"
# Создаем каталог, если его нет
mkdir -p "$BACKUP_DIR"
# Имя файла с датой
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
FILENAME=$(basename "$SOURCE")
cp "$SOURCE" "$BACKUP_DIR/${FILENAME}_${DATE}"
echo "✅ Резервная копия создана: $BACKUP_DIR/${FILENAME}_${DATE}"
💡 Как использовать:
- Поменяйте
SOURCE
на свой файл или каталог.- Можно добавить в
cron
, чтобы резервная копия делалась автоматически.🛠 Пример для
cron
(каждый день в 3 ночи):
0 3 * * * /path/to/backup.sh
📂 Теперь у вас всегда будут версии с точным временем создания!
👉@bash_srv
👍11
🚀 Быстрый мониторинг использования диска по каталогам
Иногда нужно быстро понять, какая папка на сервере съедает больше всего места. Вот простой скрипт, который выведет топ-10 "пожирателей" диска:
📌 Как использовать:
1. Перейдите в интересующую директорию:
2. Запустите скрипт:
👉@bash_srv
Иногда нужно быстро понять, какая папка на сервере съедает больше всего места. Вот простой скрипт, который выведет топ-10 "пожирателей" диска:
#!/bin/bash
# Топ-10 каталогов по размеру в текущем пути
du -h --max-depth=1 2>/dev/null | sort -hr | head -n 10
📌 Как использовать:
1. Перейдите в интересующую директорию:
cd /var/log
2. Запустите скрипт:
./disk_top.sh
👉@bash_srv
🔥6👍2👎1
🔥 Автоматическая проверка и перезапуск упавших сервисов
Скрипт, который проверяет список сервисов и перезапускает их при необходимости.
📌 Как использовать:
1. Сохраните скрипт, например, в
2. Дайте права на выполнение:
3. Добавьте в
👉@bash_srv
Скрипт, который проверяет список сервисов и перезапускает их при необходимости.
#!/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
🚀 Автоматическое обновление пакетов с логированием
Регулярные обновления системы — залог безопасности и стабильности.
Ниже скрипт, который обновляет пакеты и ведёт лог:
📌 Как использовать:
1. Сохраните скрипт, например,
2. Дайте права на выполнение:
3. Добавьте в cron для ежедневного запуска:
Теперь сервер будет обновляться сам, а все действия попадут в лог 📜
👉@bash_srv
Регулярные обновления системы — залог безопасности и стабильности.
Ниже скрипт, который обновляет пакеты и ведёт лог:
#!/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🤔1
🔥 Мониторинг нагрузки на сервер
Иногда нужно быстро понять, какие процессы сильнее всего нагружают систему. Этот скрипт выводит топ-5 «прожорливых» процессов по CPU и RAM 🖥️
📌 Как использовать:
1. Сохраните в файл, например
2. Сделайте исполняемым:
3. Запускайте при необходимости:
Так вы всегда будете видеть, что больше всего грузит ваш сервер 🚀
👉@bash_srv
Иногда нужно быстро понять, какие процессы сильнее всего нагружают систему. Этот скрипт выводит топ-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
🗓 27 августа в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «CI/CD на основе GitLab».
🎯 На вебинаре разберем:
👥 Кому будет интересно:
- 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 самых больших файлов в указанной директории:
📌 Использование:
Выведет список самых "тяжёлых" файлов в
Если директория не указана — скрипт проверит весь корень
👉@bash_srv
Этот скрипт выведет 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
👍7❤2