*КУБ - повний комплекс хмарних послуг!

Автоматизація бекапів на Linux VPS

Автоматизація бекапів на Linux VPS

Автоматизація бекапів на Linux VPS — це базова міра захисту даних, яка рятує від помилок, збоїв і невдалих оновлень. Навіть якщо сервер працює стабільно, будь-який інцидент — від пошкодженої файлової системи до випадкового видалення — може призвести до серйозних втрат. Правильно налаштована система резервування вирішує цю проблему раз і назавжди: копії створюються автоматично, зберігаються впорядковано і при необхідності швидко відновлюються.

Продумана структура бекапів

Перед тим як автоматизувати процес, важливо визначитися, що саме потрібно зберігати. Зазвичай це:

  • каталог з сайтом або додатком (/var/www/),
  • конфігурації сервісів,
  • дані користувачів,
  • каталоги з логами або static-контентом.

Створіть каталог для резервних копій:

				
					sudo mkdir /backup
sudo chmod 700 /backup
				
			

Права 700 обмежують доступ до каталогу, що важливо для безпеки.

Створення архівного бекапу

Основний інструмент архівування в Linux — це tar. Він стабільний, швидкий і підтримується всіма системами.

Приклад створення бекапу:

				
					sudo tar -czvf /backup/site-$(date +%F).tar.gz /var/www/
				
			

Що тут відбувається:

  • -c — створити архів,
  • -z — увімкнути gzip-стиснення,
  • -v — показати процес,
  • -f — шлях до підсумкового файлу.

Формат імен з датою дозволяє легко знаходити потрібний архів за часом створення.

Перевірка, що бекап створено коректно

Список створених архівів:

				
					ls -lh /backup
				
			

Якщо файл відображається, його розмір реалістичний — можна додати ще одну перевірку:

				
					tar -tf /backup/site-YYYY-MM-DD.tar.gz
				
			

Ця команда показує вміст архіву. Якщо він читається — архів у порядку.

Налаштування автоматизації через cron

Далі — найважливіше: зробити так, щоб резервні копії створювалися автоматично.

Відкрийте cron:

				
					sudo crontab -e
				
			

Додайте рядок:

				
					0 3 * * * tar -czf /backup/site-$(date +\%F).tar.gz /var/www/ >/dev/null 2>&1
				
			

Розшифровка:

  • **0 3 * * *** — виконання щодня о 03:00,
  • >/dev/null 2>&1 — відключення виводу, щоб не генерувати зайві листи root.

Вранці в /backup вже буде свіжий архів.

Передача резервних копій на інший сервер

Зберігати всі бекапи на тому ж VPS — ризиковано. Оптимальний варіант — передавати їх на віддалений сервер або виділене сховище.

Команда для ручного відправлення:

				
					rsync -avz /backup/ user@IP:/remote-backups/
				
			

Переваги rsync:

  • передає тільки змінені частини файлів,
  • працює через SSH,
  • підходить для автоматизації.

Додавання в cron:

				
					30 3 * * * rsync -avz /backup/ user@IP:/remote-backups/ >/dev/null 2>&1
				
			

Тепер копіювання відбувається автоматично, відразу після створення архіву.

Автоматичне очищення старих бекапів

Щоб каталог /backup не переповнювався:

				
					find /backup -type f -mtime +7 -delete
				
			

Видаляє архіви, старші за 7 днів. Термін можна налаштувати під свої завдання.
Команда для cron:

				
					0 4 * * * find /backup -type f -mtime +7 -delete
				
			

Підсумкова конфігурація cron

Зручно зібрати весь план в одному місці:

				
					# Створення бекапу
0 3 * * * tar -czf /backup/site-$(date +\%F).tar.gz /var/www/

# Передача на зовнішній сервер
30 3 * * * rsync -avz /backup/ user@IP:/remote-backups/

# Очищення старих архівів
0 4 * * * find /backup -type f -mtime +7 -delete
				
			

Цього набору достатньо для повної автоматизації.

Коли варто оновити VPS

Якщо архіви створюються занадто довго, дискова підсистема завантажена або сервер зависає під час бекапу — це явна ознака того, що ресурсів не вистачає. Іноді простіше перейти на VPS з більш високою продуктивністю, ніж намагатися оптимізувати мінімальну конфігурацію.

Висновок

Автоматизація бекапів на Linux VPS будується на простій, але надійній схемі: щоденне створення архівів, їх передача на зовнішній сервер і регулярне очищення старих даних. Все це займає кілька хвилин налаштування, але забезпечує спокійну роботу проекту на довгі роки. Правильно організована система резервування позбавляє адміністратора від рутини і гарантує, що дані можна відновити в будь-який момент.