TGViewer
LinuxSkill - Сводки с прода и Шпаргалки LinuxSkill - Сводки с прода и Шпаргалки @linuxskill · 10.7K subscribers
Post #885 4.6K
💾 Потерял данные? Вот скрипт, который этого не допустит

Привет, хранитель данных!

Делаешь бэкапы вручную? Пора автоматизировать! Готовый bash-скрипт архивирует важные директории и отправляет на удалённый сервер. Настрой раз и спи спокойно.

Скрипт backup.sh

#!/bin/bash

backup_dirs=("/etc" "/home" "/boot")
dest_dir="/backup"
dest_server="server1"
backup_date=$(date +%b-%d-%y)

echo "Starting backup of: ${backup_dirs[@]}"

for i in "${backup_dirs[@]}"; do
sudo tar -Pczf /tmp/$i-$backup_date.tar.gz $i
if [ $? -eq 0 ]; then
echo "$i backup succeeded."
else
echo "$i backup failed."
fi
scp /tmp/$i-$backup_date.tar.gz $dest_server:$dest_dir
if [ $? -eq 0 ]; then
echo "$i transfer succeeded."
else
echo "$i transfer failed."
fi
done

sudo rm /tmp/*.gz
echo "Backup is done."


Как работает скрипт

Переменные:
- backup_dirs — массив директорий для бэкапа
- dest_dir — куда складывать на удалённом сервере
- dest_server — имя/IP целевого сервера
- backup_date — дата в имени архива

Процесс:
1. Архивирует каждую директорию в tar.gz
2. Отправляет по scp на удалённый сервер
3. Проверяет успешность каждого шага
4. Удаляет локальные временные архивы

Пример работы

kabary@handbook:~$ ./backup.sh
Starting backup of: /etc /home /boot
/etc backup succeeded.
etc-Aug-30-20.tar.gz 100% 1288KB 460.1KB/s 00:02
/etc transfer succeeded.
/home backup succeeded.
home-Aug-30-20.tar.gz 100% 2543KB 547.0KB/s 00:04
/home transfer succeeded.
/boot backup succeeded.
boot-Aug-30-20.tar.gz 100% 105MB 520.2KB/s 03:26
/boot transfer succeeded.
Backup is done.


Автоматизация через cron

Добавь в crontab для ежедневного запуска в 3 ночи:
0 3 * * * /home/user/backup.sh >> /var/log/backup.log 2>&1


💡 Совет: настрой SSH-ключи для scp без пароля, иначе скрипт не сработает в cron.

Результат: автоматические бэкапы критически важных данных каждую ночь. Никакой рутины, полная автоматизация.
____________________

Дополнительный материал:
🧠 - От первого контейнера до мощного Swarm: Путешествие Docker в мире DevOps
🧠 - Углубляемся в безопасность Linux: Специальные режимы и их мощь!
🧠 - Разгадываем тайны команды "Apropos": Ваш ключ к миру Linux Man Pages

#Linux_Mastery #bash #backup #automation #sysadmin #scripts
Telegram Linux Skill - Освой Linux c нуля до DevOps #short_story 🚢⚙️ От первого контейнера до мощного Swarm: Путешествие Docker в мире DevOps 🌍💻 В мире, где каждая секунда на счету и гибкость внедрения определяет успех, одна технология выделяется, переопределяя архитектуру современных приложений. Это история…
  • 👍 18
More from @linuxskill
  1. Oct 7, 2026Post #1243
  2. Oct 6, 2026GitOps-практики: развёртываем сервис через ArgoCD Классический CI/CD запускает деплой. Но…
  3. Oct 5, 2026Post #1241
  4. Oct 2, 2026📊 Диск тормозит, а iostat показывает норму? Ищем хвост задержек Приложение подвисает на з…
  5. Sep 30, 2026💀 CPU под 100%, а в top пусто? Ловим невидимые процессы через eBPF Сервер греется, в шапк…
  6. Sep 28, 2026🔥 Знаешь только ip a? 10 неочевидных команд ip для Linux Большинство админов знают про ip…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →