Налаштування резервного копіювання файлів сайту

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

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

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Налаштування резервного копіювання файлів сайту
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Налаштування резервного копіювання файлів сайту

Резервна копія файлів сайту відновлює код, завантажені медіа, конфігурації після збою або випадкового видалення. Для коду достатньо git-репозиторію - не потрібно окремо включати вихідники в резервну копію.

Що резервувати

Потрібно: завантажені користувачами файли (uploads/), SSL-сертифікати (якщо не Let's Encrypt), користувацькі конфігурації поза репозиторієм.

Не потрібно: код з git, node_modules, vendor, кеш програми, тимчасові файли.

rsync + SSH в S3/віддалений сервер

#!/bin/bash
SOURCE="/var/www/myapp/storage/app/uploads"
BACKUP_HOST="backup.example.com"
BACKUP_PATH="/backups/myapp/files"
TIMESTAMP=$(date +%Y-%m-%d)

rsync -avz \
  --link-dest="${BACKUP_PATH}/latest" \
  --exclude="*.tmp" \
  -e "ssh -i /root/.ssh/backup_key" \
  "${SOURCE}/" \
  "${BACKUP_USER}@${BACKUP_HOST}:${BACKUP_PATH}/${TIMESTAMP}/"

ssh -i /root/.ssh/backup_key "${BACKUP_USER}@${BACKUP_HOST}" \
  "ln -sfn '${BACKUP_PATH}/${TIMESTAMP}' '${BACKUP_PATH}/latest'"

Синхронізація AWS S3

aws s3 sync /var/www/myapp/storage/app/uploads/ \
  s3://myapp-backups/files/uploads/ \
  --delete \
  --exclude "*.tmp" \
  --storage-class STANDARD_IA

aws s3api put-bucket-lifecycle-configuration \
  --bucket myapp-backups \
  --lifecycle-configuration file://lifecycle.json
{
  "Rules": [{
    "ID": "delete-old-backups",
    "Filter": { "Prefix": "files/" },
    "Status": "Enabled",
    "Expiration": { "Days": 90 }
  }]
}

Расписання crontab

30 3 * * * /usr/local/bin/files-backup.sh >> /var/log/files-backup.log 2>&1

Обсяг зберігання та вартість

При 10 GB uploads з щоденною інкрементальною резервною копією (rsync --link-dest): додається тільки обсяг змін. В S3 STANDARD_IA: ~$0.013/GB/місяць. 90 днів 10 GB ≈ $1.2/місяць.

Тривалість реалізації

Налаштування rsync або S3-синхронізації файлів з ротацією та cron: 0.5–1 день.