
Резервное копирование должно быть автоматическим, предсказуемым и поддающимся проверке. Лучшее резервное копирование — это то, которое можно быстро восстановить. В этом руководстве вы настроите автоматическое резервное копирование с помощью встроенных инструментов в Linux (cron, tar/rsync) и Windows (Windows Server Backup, Планировщик заданий).
Эти методы идеально подходят для рабочих серверов на Linux VPS и Windows VPS, размещенных на надежном VPS-хостинге, где требуется чистая исходная конфигурация без стороннего программного обеспечения для резервного копирования.
Это самый универсальный «встроенный» метод для Linux VPS: создать архив локально и отправить его за пределы офиса через rsync по SSH.
sudo mkdir -p /backup
sudo chmod 700 /backup
Создать /usr/local/bin/backup.sh:
sudo nano /usr/local/bin/backup.sh
Пример скрипта (подстройте пути и резервное копирование БД под свой стек):
#!/usr/bin/env bash
set -euo pipefail
TS="$(date %F_%H-%M)"
DEST="/backup/backup-${TS}.tar.gz"
LOG="/backup/backup.log"
# Example: database dump (optional)
# mysqldump -u root -p'PASSWORD' --single-transaction --routines --triggers --events yourdb > /backup/db-${TS}.sql
tar -czf "$DEST"
/var/www
/etc
/home
echo "$(date -Is) Created $DEST" >> "$LOG"
Сделайте его исполняемым:
sudo chmod x /usr/local/bin/backup.sh
sudo crontab -e
Ежедневная резервная копия в 03:00:
0 3 * * * /usr/local/bin/backup.sh >/dev/null 2>&1
Никогда не храните единственную резервную копию на том же VPS. Перенесите её на другой сервер/хранилище (второй VPS). Пример:
rsync -az /backup/ user@REMOTE_SERVER:/remote-backup/
Добавьте в cron в 03:30:
30 3 * * * rsync -az /backup/ user@REMOTE_SERVER:/remote-backup/ >/dev/null 2>&1
Удалите резервные копии, которым более 14 дней:
find /backup -type f -name "backup-*.tar.gz" -mtime 14 -delete
Добавьте очистку в cron на 04:00:
0 4 * * * find /backup -type f -name "backup-*.tar.gz" -mtime 14 -delete >/dev/null 2>&1
# List archive contents
tar -tzf /backup/backup-YYYY-MM-DD_HH-MM.tar.gz | head
# Restore a file (example)
tar -xzf /backup/backup-YYYY-MM-DD_HH-MM.tar.gz -C /tmp ./etc/hosts
На VPS с Windows можно использовать встроенную утилиту Windows Server Backup (WSB) и планировать задания через Планировщик заданий. Это касается файлов, томов и (по желанию) состояния системы.
Install-WindowsFeature Windows-Server-Backup
Пример: резервное копирование диска C: на выделенный диск для резервных копий (замените target). Для состояния системы добавьте -systemState в соответствующих местах.
# Example: volume backup
wbadmin start backup -backupTarget:E: -include:C: -quiet
Создайте запланированное задание, выполняемое от имени SYSTEM с максимальными привилегиями. Пример действия:
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "wbadmin start backup -backupTarget:E: -include:C: -quiet"
Автоматическое резервное копирование с помощью встроенных инструментов — это надежная основа: Linux cron, tar/rsync и Windows Server Backup, а также Планировщик заданий охватывают большинство реальных сценариев. Для стабильной производительности и предсказуемых окон резервного копирования запускайте их на VPS под Linux или Windows с подходящими ресурсами и надежным хранилищем на VPS-хостинге.