Резервное копирование символических ссылок с помощью AWS s3 sync
Я пытаюсь сделать резервную копию нашей системы, используя aws s3 sync
команда, однако это либо создаст резервную копию всего каталога за символической ссылкой (поведение по умолчанию), либо не создаст резервную копию символической ссылки вообще.
Я хотел бы создать резервную копию символической ссылки, чтобы при необходимости ее можно было восстановить с S3.
Я не хочу сначала архивировать весь каталог, иначе я потеряю возможность создавать резервные копии только измененных файлов.
Моя текущая мысль состоит в том, чтобы сканировать каталог для поиска символических ссылок и создавать файлы метаданных, содержащие цель символической ссылки, которую после восстановления можно было бы прочитать, чтобы перестроить символическую ссылку, но я не совсем уверен, как это сделать.
Любой совет будет очень кстати. Заранее спасибо.
2 ответа
Как есть, S3 не имеет стандартного способа представления символической ссылки. Обратите внимание, что вы можете выбрать собственное представление и сохранить его в метаданных пустого объекта S3, но это будет сделано самостоятельно. НАСКОЛЬКО МНЕ ИЗВЕСТНО, aws s3
не делает этого
Теперь, с целью резервного копирования на S3 (и Glacier), вы можете взглянуть на OpenDedup. Он использует тот же тип скользящей контрольной суммы, что и в rsync, чтобы минимизировать фактическое используемое хранилище (и пропускную способность).
Я делал много cp -rl
а также rsync
пользовательские сценарии для резервного копирования моей собственной системы на локальные диски, но всегда были разочарованы ненужным дополнительным хранилищем из-за большого количества дублирующихся файлов, которые у меня могут быть. Представьте, что происходит в этих простых схемах, когда вы переименовываете каталог (mv dirA dirB
): в следующей резервной копии обычно хранится новая копия этого каталога.
С OpenDedup (и другими подобными системами, такими как bup, zpaq и т. Д.), Содержимое хранится уникально (благодаря подходу скользящей контрольной суммы). Мне это нравится.
В настоящее время Amazon S3 не поддерживает символические ссылки. Он будет следовать за ними при загрузке с локального диска на S3. Согласно документации AWS, содержимое символической ссылки копируется или синхронизируется под именем символической ссылки.
rsync
У команды есть опции для символических ссылок. Один из них --copy-links
точно скопирует пункт назначения. Поэтому, если ваши символические ссылки используют абсолютные пути (my/absolute/path), он скопирует этот путь, а символическая ссылка на S3 будет указывать на каталог в вашем локальном ящике. Если вы используете относительные пути (.../.../path), то символическая ссылка будет указывать на этот путь на S3.
Rsync будет способом сохранить ваши символические ссылки для использования после восстановления файлов обратно в ваш локальный ящик.
Другим способом будет использование службы синхронизации или резервного копирования AWS S3, такой как Cloud Sync от NetApp, которая будет каталогизировать ваши данные при каждой операции. Каждый поставщик услуг предлагает различные функции, поэтому то, как будут обрабатываться символические ссылки, зависит от выбранного поставщика.