Каков наилучший способ выполнять ежедневное / еженедельное / ежемесячное резервное копирование?

1696
Penang

В настоящее время я запускаю скрипт на леопарде каждые несколько дней, чтобы убедиться, что я сделал резервную копию своих данных на удаленном сервере, используя:

#!/bin/bash rsync -avvz ~/Documents ~/Workspace -e ssh admin@myhost.com:~/Backup/ 

У этого метода есть ограничения, т.е. я не могу просматривать файлы, которые были удалены несколько резервных копий назад. Как лучше всего автоматизировать этот процесс?

1

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

3
Joonas Pulakka

Вы ищете rdiff-backup . Это очень, очень хорошо.

+1 - «rdiff-backup выполняет резервное копирование одного каталога в другой, возможно, по сети. Целевой каталог заканчивает копией исходного каталога, но дополнительные обратные различия хранятся в специальном подкаталоге этого целевого каталога, так что вы все еще можете восстановить потерянные файлы некоторое время назад. ** Идея состоит в том, чтобы объединить лучшие функции зеркала и инкрементной резервной копии. ** " The Tentacle 14 лет назад 0
3
Wizard

Я нашел пакет rsnapshot очень хорошим, доступным во всех дистрибутивах, и я только что установил его на свой Mac.

Это оболочка для rsync, которая заботится о добавочных резервных копиях, включая ежечасные, ежедневные, еженедельные и ежемесячные.

rsnapshot также использует ссылки, так что файлы, которые не изменились, появляются в каждой резервной копии, но занимают место на диске только один раз. Martin Beckett 14 лет назад 0
1
Peter

Я считаю, что машина времени очень эффективна в сочетании с вращением резервных копий за пределами площадки. Это не «использование удаленного сервера», а мысль, что я должен просто указать на это.

1
pavium

Можете ли вы создать работу cron в леопарде?

В примере параметров rsync (-avvz) не удаляются файлы в «удаленном» каталоге, которые были удалены из локального каталога с момента более раннего резервного копирования. Они все еще должны быть в удаленном каталоге.

Но ваш пример сбивает с толку: копируете ли вы файлы из ~ / Documents в ~ / Workspace или в ~ / Backup / на myhost.com

Это может быть особенностью леопарда, но похоже, что вы просто копируете из ~ / Documents в ~ / Workspace, в этом случае остальная часть строки может игнорироваться (и вам не нужно вызывать ssh)

Вам также следует рассмотреть возможность завершения спецификации исходного каталога с помощью /

Я бы согласился с Питером, что ротационные резервные копии хороши - если у вас есть свободное место на диске.

Кроме того, если вы используете rsync, поставляемый Apple (в / usr / bin), и удаленный rsync поддерживает его, вам следует рассмотреть возможность добавления опции -E для копирования расширенных атрибутов, вилок ресурсов и списков ACL. Смотрите страницу руководства Leopard rsync. 14 лет назад 1
0
user2254

Я запускаю эту работу cron каждый день в 5:30 утра:

#! /bin/bash echo -n "cleaning remote database..."; ssh wf ./bin/mysql-clean; echo "Done"; echo -n "running remote backup script..."; ssh wf ./bin/mysql-backup; echo "Done"; scp wf:~/mysql-`date +%Y-%m-%d`.sql.bz2 /storage/mysql/; 

Затем на моем веб-хосте у меня есть скрипт mysql-clean, который пылесосит мою базу данных и удаляет всю ненужную информацию. MySQL-резервная копия в основном просто mysqldump по каналу через bzip2, а затем называет его в соответствии с датой. У меня также есть сценарий, который берет последний файл резервной копии, распаковывает его, очищает локальную базу данных mysql, а затем вставляет все данные из файла резервной копии.

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