Написание скрипта bash для резервного копирования сайта
Я собираюсь написать свой первый скрипт оболочки для резервного копирования моего сервера.
Это шаги, которые я определил до сих пор.
- Скопируйте файлы для резервного копирования в /srv/backup/
- запустите mysqldump и скопируйте файл в srv/backup/database
- запустите дублирование для резервного копирования /srv/backup/* в другую папку на моей машине
Я пишу сценарий оболочки bash, который будет запускаться каждый день и выполнять три задачи, упомянутые выше.
Примечание: пункт 3 (резервное копирование в локальную папку) является лишь временной мерой - чтобы я мог понять, что я делаю, поскольку все инструменты, которые я использую, являются новыми для меня. После того, как я смогу правильно выполнить резервное копирование и восстановление, я буду использовать двойственность, чтобы сжимать и шифровать файлы и загружать их вне офиса.
Если мое понимание двуличности правильное (согласно документации здесь), при первом запуске сценария будет выполнено ПОЛНОЕ резервное копирование. Каждая последующая резервная копия будет инкрементной. Я тогда заставлю ПОЛНОСТЬЮ вернуться, скажем, на выходные.
Хотя обо всем по порядку - у меня есть несколько вопросов:
Я хотел бы использовать резервное вращение для "схемы", описанной выше - я хотел бы дать несколько рекомендаций о том, какой тип / тип вращения использовать.
После того, как я реализовал ротацию резервных копий, как я могу восстановить данные за определенный день назад (если, конечно, резервная копия существует).?
Я использую Ubuntu 10.0.4
1 ответ
Простое решение - использоватьtar для ежедневного резервного копирования. И я предлагаю вам делать полные резервные копии каждый день, потому что резервное копирование веб-сайта обычно не является большой работой (несколько минут для полного резервного копирования). В любом случае, для вашей базы данных (файл.sql) у вас просто нет выбора сделать полную резервную копию.
tar cvf /srv/backup/backup.tar /website/directory