Я не уверен, что есть один размер, подходящий для всех, тем более что вы не сказали что вы намереваетесь сделать резервную копию. Мой обычный МО:
- Исходный код: используйте систему контроля версий, такую как svn или git. Это означает, что у вас обычно будут резервные копии: dev, deploy и репозитория для кода (особенно в drsc).
- База данных: это также зависит от использования, но обычно:
- Иметь команду управления dump_database.py, которая будет анализировать настройки и для каждого дб будет выводить правильную команду дб дб (с учетом типа дб, а также имени базы данных).
- Иметь задание cron на другом сервере. , который подключается через ssh к серверу приложений, выполняет команду управления дампом базы данных, отсекает файл sql с именем db + timestamp в качестве имени файла и загружает его в другой сервер (амазонка s3 в моем случае).
- Медиа-файл: например, Пользователь загружает. Сохраните задание cron на другом сервере, который может подключиться к серверу приложений через ssh и вызвать rsync для другого сервера.
Однако следует помнить, что это и есть цель резервного копирования.
Если это случайная потеря данных (будь то сбой диска, ошибка или внедрение SQL) или просто восстановление, вы можете сохранить эти задания cron на том же сервере.
Если вы также хотите быть в безопасности в случае взлома сервера, вы не можете хранить учетные данные удаленного резервного копирования (sshkeys, amazon secret и т. Д.) На сервере приложений! Или же злоумышленник получит доступ к серверу резервного копирования.