Я впервые использую rsync для создания ежедневных резервных копий моих веб-сайтов, и мне было интересно, следует ли мне перезаписать предыдущую копию или мне следует создать несколько копий и перезаписать только самую старую? (Хотя у меня может не хватить для этого места).
У меня тоже есть этот вопрос. Предположим, что большинство файлов случайно стираются ... удаляет ли rsync все эти файлы из резервной копии, потому что они больше не существуют? Как именно работает в этом случае?
Спасибо
Если вы работаете в системе, которая поддерживает жесткие ссылки (например, Linux, Unix, OSX и т. Д.), Хорошим решением может быть что-то вроде rsnapshot. Это автоматизирует ежедневные, еженедельные и т. Д. Моментальные снимки и ротацию. Используемое дисковое пространство со временем становится минимальным, поскольку используются жесткие ссылки файловой системы.
rsnapshot http://rsnapshot.org/
Вам обязательно нужна стратегия резервного копирования, которая включает в себя хранение ряда старых резервных копий. Если вы сохраните только одно зеркало вашей действующей системы, то, если файлы в вашей действующей системе будут повреждены, ваш процесс резервного копирования будет должным образом отражать поврежденные файлы, и ваша резервная копия станет бесполезной.
Хорошая стратегия состоит в том, чтобы хранить несколько резервных копий с метками времени (или, по крайней мере, с метками даты), чтобы, если вы обнаружите, что файлы в ваших последних резервных копиях являются копиями поврежденных файлов, вы могли вернуться к более старым версиям, которые, как известно, являются хорошими.
rsnapshot
, упомянутый Аластером, - это очень хороший инструмент, основанный на rsync, который создает и хранит настраиваемое количество зеркал с поддержкой версий (или «снимков») ваших источников по настраиваемому расписанию. Ты можешь сказать rsnapshot
сколько ежечасных, ежедневных, еженедельных и / или ежемесячных снимков нужно хранить, и он автоматически позаботится об удалении самых старых снимков, когда будет достигнуто выбранное вами максимальное количество снимков для сохранения. Как также упоминалось, rsnapshot
довольно эффективен с дисковым пространством, поскольку использует жесткие ссылки для представления файлов, которые не меняются между снимками.
Если вы не делаете что-то довольно странное, вы не будете перезаписывать в традиционном смысле. rsync предназначен для синхронизации дерева файловой системы на удаленном сервере с деревом файловой системы локально (или наоборот). В первый день, когда вы запустите его, потребуется некоторое время, чтобы скопировать все дерево; на следующий день вы скопируете только те файлы, которые изменились.
Если вам нужна историческая информация, но вам не хватает места, то вместо того, чтобы хранить несколько копий дерева, вы можете найти более удовлетворительным выполнение задания cron, которое прерывает каталог на удаленном сервере, сжимая его настолько сильно, насколько это возможно, и сохраните столько файлов tar, сколько сможете.
Как отметил Дерфк, вы можете выбрать, удаляет ли rsync (например) файлы на удаленной стороне, которые исчезли локально, а также многое другое поведение - но ваша задача - поймать его, прежде чем он синхронизирует дерево, если кто-то изменил все ваши локальные файлы, чтобы сказать "Я НЕНАВИЖУ ПИРОГ".
Это одна из причин, почему я не считаю rsync подходящим решением для резервного копирования. Но если у вас есть только другой сервер для резервного копирования, и у вас мало места на этом сервере, тогда rsync + агрессивный tar, вероятно, примерно так же хорош, как и вы, не вдаваясь в забавные уловки Union FS, и это определенно лучше, чем вообще никаких резервных копий.