Как настроить резервное копирование каталога?

У меня установлена ​​Ubuntu 12.10 со стеком LAMP для небольшого сайта, на котором я размещаюсь. Мне нужно настроить систему еженедельного резервного копирования каталога / var / www, где находятся все мои сайты. Каков наилучший способ сделать это?

1
задан 13 February 2013 в 16:09

2 ответа

rsync может сделать это, а также может автоматически добавлять метку времени к вашим файлам резервных копий. Вы также можете поместить команду rsync прямо в cron. В качестве примера для ежедневного резервного копирования:

@daily rsync -ab --suffix=_`date +%F` -R {server}:/var/wwww /home/backups/

(предполагается, что вы уже можете получить доступ к этому компьютеру и что / home / backups / существует, и вам также нужно перейти на {сервер} в систему, где находятся файлы )

Ссылки, опубликованные в комментариях , используют это в качестве примера, но имеют лучший конечный результат метода: скрипт резервного копирования, который вы используете из cron.

0
ответ дан 13 February 2013 в 16:09
1110] Лучшее средство всегда зависит от вкуса. Я бы предпочел использовать rdiff или rsync вместо ssh. Просто спросите, нужна ли вам дополнительная помощь на любом этапе. Этот метод позволяет поместить целевую машину резервного копирования во внутреннюю сеть, поэтому любой, кто взломает ваш сайт, не сможет получить доступ к вашим резервным копиям.

  1. Настройте резервную копию учетной записи на сервере www, создайте открытый + закрытый ssh-ключи без пароля для этой учетной записи. Скопируйте открытый ключ в ~ backup / .ssh / id_rsa.pub, не оставляйте закрытый ключ на этом сервере.
  2. Добавьте резервную учетную запись в группу www (или любую другую первичную группу учетной записи, на которой работает Apache.
  3. Измените / etc / ssh / sshd_config, чтобы разрешить вход в систему с помощью криптографического ключа.
  4. На целевой компьютер, настройте учетную запись резервного копирования и скопируйте id_rsa и, необязательно, id_rsa.pub в ~ backup / .ssh /
  5. . Проверьте соединение с резервной целевой машиной и примите ключ хоста: su backup; ssh backup @ your -www-server.
  6. Создайте скрипт резервного копирования для запуска через cron на целевой машине, приведенный ниже упрощенный пример.
  7. Улучшите сценарий на свой вкус (или найдите лучший, единственная цель из этого, чтобы дать вам идею.) Этот заполнит ваш целевой диск.
  8. Также не забудьте сделать резервную копию вашей базы данных (может быть, mysqldump?) и конфигурации сервера.
 
#!/bin/bash
DATE=$(date -I)
FROMDIR=backup@your-www-server/var/www/
TODIR=/var/backup/your-www-server/${DATE}/
LOGDIR=/var/backup/your-www-server/log/

mkdir -p ${TODIR} ${LOGDIR}
rsync -av ${FROMDIR} ${TODIR} >${LOGDIR}/${DATE}.log 2>${LOGDIR}/${DATE}.err
 
0
ответ дан 13 February 2013 в 16:09

Другие вопросы по тегам:

Похожие вопросы: