Написание скрипта bash для резервного копирования сайта

1414
morpheous

Я собираюсь написать свой первый сценарий оболочки для резервного копирования моего сервера.

Это шаги, которые я определил до сих пор.

  1. Скопируйте файлы для резервного копирования в / srv / backup /
  2. запустите mysqldump и скопируйте файл в srv / backup / database
  3. запустите дублирование для резервного копирования / srv / backup / * в другую папку на моей машине

Я пишу сценарий оболочки bash, который будет запускаться каждый день и выполнять три задачи, упомянутые выше.

Примечание: пункт 3 (резервное копирование в локальную папку) является лишь временной мерой - чтобы я мог понять, что я делаю, поскольку все инструменты, которые я использую, являются новыми для меня. После того, как я смогу правильно выполнить резервное копирование и восстановление, я буду использовать двойственность, чтобы сжимать и шифровать файлы и загружать их вне сайта.

Если мое понимание двуличности правильное (согласно документации здесь ), при первом запуске сценария будет выполнено ПОЛНОЕ резервное копирование. Каждая последующая резервная копия будет инкрементной. Затем я заставлю FULL вернуться, скажем, на выходные.

Хотя обо всем по порядку - у меня есть несколько вопросов:

  1. Я хотел бы использовать резервное вращение для «схемы», описанной выше - я хотел бы дать несколько рекомендаций о том, какой тип / тип вращения использовать.

  2. После того, как я реализовал ротацию резервных копий, как я могу восстановить данные за определенный день назад (если, конечно, резервная копия существует). ?

Я использую Ubuntu 10.0.4

1
Некоторые веб-сайты имеют важные задачи в файле crontab. Поэтому, возможно, вам нужно добавить в скрипт строку типа «crontab -l> / srv / backup / my-crontab». David Cary 10 лет назад 0

1 ответ на вопрос

0
Jonathan Rioux

Простое решение - использовать tar для ежедневного резервного копирования. И я предлагаю вам делать полные резервные копии каждый день, потому что резервное копирование веб-сайта обычно не большая работа (несколько минут для полного резервного копирования). В любом случае, для вашей базы данных (файл .sql) у вас просто нет выбора сделать полную резервную копию.

tar cvf /srv/backup/backup.tar /website/directory