Я запускаю новый выделенный сервер и хочу сделать резервную копию общей конфигурации apache и всех других конфигураций сервера, включая php.ini.
Покрывает ли это средство резервного копирования WHM или мне следует искать другой путь?
Я бы предложил установить etckeeper, который представляет собой набор инструментов, который помещает ваше дерево / etc (где должны находиться все ваши настройки, включая php.ini и httpd.conf) в локальную систему контроля версий. Он может автоматически фиксироваться при установке и удалении пакетов, а также имеет некоторые другие отличные функции.
Некоторые уроки:
Etckeeper поддерживает различные системы контроля версий для хранения ваших конфигураций. В вашем случае я бы предложил настроить его на использование распределенных vcs (DVCS), таких как Bazaar или Git. Я думаю, что Bazaar используется по умолчанию, но это может зависеть от вашего дистрибутива.
Использование DVCS позволяет вам регулярно передавать всю историю из vcs сервера на удаленный сервер (например, с помощью задания cron), фактически создавая локальную историю с поддержкой версий с идентичным удаленным резервным копированием. Вы можете использовать частный github, bitbucket или любую другую учетную запись или запустить собственный сервер резервного копирования.
Если вы и ваши коллеги используете sudo при администрировании сервера, коммиты будут даже помечены именем вашей учетной записи, что позволит вам увидеть, кто какие настройки изменил.
Это может показаться немного более сложным, чем простое копирование файлов конфигурации на удаленный сервер, но я считаю, что это гораздо лучшее решение. Это дает вам все преимущества системы контроля версий:
Etckeeper доступен в виде пакета в большинстве дистрибутивов Linux.
P.S. Другой вариант - установить Серверная версия Jungle Disk и используйте его для резервного копирования каталога / etc. Это обеспечивает легкое внешнее безопасное резервное копирование и восстановление с поддержкой нескольких версий и удаленных файлов. Он не обеспечивает простого различения, подотчетности и неограниченной истории, поэтому я упоминаю его в последнюю очередь.
Вот содержание скрипта, который поддерживает мой блог:
$ cat arc_blog.sh
#!/bin/bash
DATE=`date +%Y%m%d`
BACKUPDIR="/home/###USERNAME###/backup"
rm -fv $BACKUPDIR/$DATE.webroot.tar.gz
tar czvf $BACKUPDIR/$DATE.webroot.tar.gz /var/www
rm -f $BACKUPDIR/webroot.tar.gz
ln -s $BACKUPDIR/$DATE.webroot.tar.gz $BACKUPDIR/webroot.tar.gz
mysqldump --user=backup --password=###PASSWORD### -A > $BACKUPDIR/$DATE.allDBs.sql
rm -fv $BACKUPDIR/$DATE.allDBs.sql.gz
gzip -f $BACKUPDIR/$DATE.allDBs.sql
rm -f $BACKUPDIR/allDBs.sql.gz
ln -s $BACKUPDIR/$DATE.allDBs.sql.gz $BACKUPDIR/allDBs.sql.gz
echo $DATE > $BACKUPDIR/current
Говоря простым языком, он устанавливает дату и каталог резервного копирования, удаляет все существующие резервные копии на сегодняшний день, затем создает новую резервную копию в архиве gzip с датой, указанной в имени.
Скоро в этот скрипт будет добавлен метод загрузки в облако Amazon S3. Не хочу оказаться в ситуации полной потери, как Джефф и Джоэл.
Это может быть немного для того, что вам нужно, но инструмент управления сервером, например Кукольный или AutomateIt действительно полезен, если вы когда-либо захотите настроить совершенно новый сервер на основе существующей конфигурации или поддерживать несколько серверов со стандартной конфигурацией.
Должен второй rsync
предложение. На самом деле id, вероятно, создаст быстрый сценарий оболочки для обработки истории tar.gz, а также для сохранения текущего расширенного - настройте несколько ключей ssh и вкладку cron, и все готово.