Регулярное резервное копирование сайта

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.
Разработка и обслуживание любых видов сайтов:
Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Регулярное резервное копирование сайта
Простая
от 4 часов до 2 рабочих дней
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1214
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    852
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1041
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    823
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    815

Регулярное резервное копирование сайта

Бэкап — страховка, которая стоит дёшево, пока не нужна. Стоимость хранения 10 GB на S3 — около $0.23/мес. Стоимость потери данных без бэкапа — непредсказуема.

Правило 3-2-1

  • 3 копии данных
  • 2 разных носителя/хранилища
  • 1 копия offsite (другая локация или облако)

Что нужно бэкапить

  • База данных (обновляется чаще всего — критически важно)
  • Загруженные пользователями файлы (uploads/, storage/)
  • Конфигурационные файлы (.env, nginx.conf)
  • Код сайта (обычно уже в Git — дополнительный бэкап не нужен)

Автоматический бэкап БД на S3

#!/bin/bash
# /opt/scripts/backup-db.sh

set -euo pipefail

DATE=$(date +%Y%m%d_%H%M%S)
DB_NAME="mysite_prod"
BACKUP_DIR="/tmp/backups"
S3_BUCKET="s3://my-backups/database"

mkdir -p "$BACKUP_DIR"

# PostgreSQL
pg_dump -U postgres -d "$DB_NAME" -F custom \
  | gzip > "$BACKUP_DIR/${DB_NAME}_${DATE}.dump.gz"

# Загрузка на S3
aws s3 cp "$BACKUP_DIR/${DB_NAME}_${DATE}.dump.gz" \
  "${S3_BUCKET}/${DB_NAME}_${DATE}.dump.gz" \
  --storage-class STANDARD_IA

# Удаление локального файла
rm "$BACKUP_DIR/${DB_NAME}_${DATE}.dump.gz"

# Удаление бэкапов старше 30 дней
aws s3 ls "${S3_BUCKET}/" \
  | awk '{print $4}' \
  | while read key; do
      date=$(echo "$key" | grep -oP '\d{8}')
      if [[ $(date -d "$date" +%s) -lt $(date -d "30 days ago" +%s) ]]; then
          aws s3 rm "${S3_BUCKET}/${key}"
      fi
  done

echo "Backup completed: ${DB_NAME}_${DATE}.dump.gz"
# Crontab: бэкап каждые 6 часов
0 */6 * * * /opt/scripts/backup-db.sh >> /var/log/backup.log 2>&1

S3 Lifecycle Policies

{
  "Rules": [{
    "ID": "BackupRetention",
    "Filter": { "Prefix": "database/" },
    "Status": "Enabled",
    "Transitions": [
      { "Days": 7,  "StorageClass": "STANDARD_IA" },
      { "Days": 30, "StorageClass": "GLACIER" }
    ],
    "Expiration": { "Days": 90 }
  }]
}

Бэкап файлов (rsync + S3)

# Бэкап uploads/ на S3
aws s3 sync /var/www/mysite/storage/app/public/ \
  s3://my-backups/files/ \
  --storage-class STANDARD_IA \
  --delete  # удалять в S3 то, что удалено локально

# Без --delete (безопаснее, но растёт объём)
aws s3 sync /var/www/mysite/uploads/ s3://my-backups/uploads/

Проверка бэкапов (обязательно!)

Бэкап без проверки восстановления — ложная уверенность:

# Ежемесячная проверка восстановления
aws s3 cp s3://my-backups/database/latest.dump.gz /tmp/test-restore.dump.gz
createdb mysite_restore_test
gunzip < /tmp/test-restore.dump.gz | pg_restore -d mysite_restore_test
psql -d mysite_restore_test -c "SELECT COUNT(*) FROM users;"  # должно совпасть с production
dropdb mysite_restore_test

Решения для WordPress

# WP-CLI + S3
wp package install wp-cli/db-command --allow-root
wp db export - | gzip | aws s3 cp - s3://my-backups/wp_$(date +%Y%m%d).sql.gz

Настройка автоматического бэкапа с S3-хранилищем — 2–4 часа.