Как сделать резервную копию Ubuntu 12.04 lts? Должна быть возможность восстановиться за 2 дня или меньше

Как сделать резервную копию Ubuntu 12.04 lts? Должна быть возможность восстановиться за 2 дня или меньше

Я управляю несколькими сайтами электронной коммерции на своем домашнем сервере (своим собственным, члена семьи и клиента). Это старый Dell Dimension 4600, на котором у меня установлена ​​Ubuntu 12.04 lts. Компьютер не подает никаких признаков неминуемого отказа, но поскольку он старый, я хочу иметь хорошую резервную копию на случай, если что-то случится. Мне нужно будет восстановить данные на новом сервере в течение пары дней после выхода сервера из строя. Лучше ли использовать что-то вроде Clonezilla? Или стоит? Есть ли лучший способ сделать это?

Обновлять

Мне не нужно, чтобы сайт был активен, пока я это делаю, и у меня сейчас около 8 ГБ данных. Копия бита кажется хорошей идеей для того, что мне нужно, то есть сделать резервную копию, а затем, если что-то случится, иметь возможность подключить диск резервного копирования и работать. Разметка диска — только один диск, один большой раздел на 80 ГБ. Да, я знаю, что это не лучший вариант, я был новичком во всем мире Linux, Ubuntu, веб-серверов, почти всего, когда я устанавливал ОС и изначально настраивал ее. Так что никакого LVM тоже

решение1

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

Если сайт должен быть активным во время копирования, проблема становится сложнее. Хороший способ обработки резервных копий в Linux — запланировать инкрементальное резервное копирование с помощью чего-то вроде rsnapshot (но rsync может быть проще в вашем случае). Если же вам нужно восстановить, вам нужно будет начать с перестройки сервера, а затем скопировать последний снимок.

Вы не указали объем данных, которые вы копируете, как часто они меняются или структуру дисков. Оба эти момента полезны при поиске решения для резервного копирования. Если вы создаете новую систему (или были предусмотрительны при создании исходной системы), часто бывает полезно создать файловую систему на LVM, затем сделать снимок LVM и сделать его резервную копию. Это означает отсутствие простоев, и вы можете сделать точную копию [большой части] файловой системы в определенный момент времени. Конечно, это предполагает, что вы используете LVM.

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

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

решение2

В такой ситуации лучшим способом, вероятно, будет иметь другой сервер, на котором вы можете синхронизировать свои данные. Купите VPS и синхронизируйте свой код, базы данных и конфигурации. Я только что проверил провайдера, которым пользуюсь, и вы можете получить VPS с 20 ГБ пространства, 512 МБ ОЗУ, 1,5 ТБ передачи и 2 IP-адресами за 20 долларов в год. Удвойте характеристики, и это будет 40 долларов в год. Мелочь. Если вам не нравятся выгодные предложения, вы можете использовать Amazon Cloud или Slicehost, но я думаю, что вы зря тратите деньги.

Когда вы вносите изменения в код, используйте Dreamweaver (или что-то еще, что вы используете) для внесения изменений в ваш «тестовый» сайт. Затем перенесите свои данные на «производственный» сайт. Большинство IDE для веб-разработки имеют возможность иметь «тестовый» сервер и «производственный» сервер. Выбирайте, какой из них какой. Если бы это был я (а у меня почти такая же ситуация с некоторыми клиентами), я бы установил VPS в качестве производственного сайта и использовал домашний сервер в качестве резервного.

Первоначальная настройка этого проста. Вы можете выгрузить все установленные пакеты из apt-get в txt-файл и использовать его для установки тех же пакетов на вашем VPS. Упаковав веб-файлы, дампы базы данных, вы можете использовать SCP, чтобы скопировать их прямо на другой сервер. (Вероятно, сделать все это с помощью короткого скрипта оболочки.) Вы, вероятно, захотите скопировать большую часть вашего /etc. После завершения первоначальной настройки синхронизация станет тривиальной задачей.

Это имеет много преимуществ.

  1. Во-первых, у вас дома отключается электричество, а сервер не отключается.
  2. Во-вторых, изменения кода тестируются и разрабатываются по вашей локальной сети, поэтому они выполняются быстро, и вам не приходится ждать, пока данные будут переданы по медленному соединению (YMMV).
  3. У вас сломалось оборудование и вам нужна деталь, доставка которой займет неделю, — при этом ваш производственный участок продолжает работать.
  4. Вы можете подключиться к своему тестовому серверу по SSH из любой точки мира, внести изменения, протестировать их, а затем отправить на свой производственный сервер с минимальными перебоями.
  5. Вы можете разрабатывать на той же конфигурации, что и производственная машина. Поэтому вам не придется использовать XAMPP или какую-либо другую среду разработки и беспокоиться о зависимостях, структуре или всех остальных нюансах разработки.
  6. Совместное размещение. Если по какой-то причине ваш производственный компьютер выходит из строя (VPS), перенаправьте DNS на домашний сервер. Сохраняйте DNS TTL на уровне 30 минут, и время простоя будет минимальным.

Итак, вот моя рекомендация.

И да, я беру с людей $1000+ в год за VPS, который мне обходится примерно в $40 в год... Я также продаю им услуги по размещению, которые являются просто еще одним VPS от другого провайдера или на моей домашней стойке. Вам нужно встать на плечи гигантов, если вы хотите заработать деньги в веб-игре. Разработка кода — это хорошо, но остаточный доход — это то, что нужно, брат. Покупай дешево. Продавай дорого.

Связанный контент