Каталог Sync/mirror с корзиной файлов Rackspace Cloud

Какой инструмент можно использовать для синхронизации содержимого локального каталога с содержимым корзины Rackspace Cloud Files?

Мне нужно rsync-подобное приложение для создания зеркала, а не приложение для резервного копирования. Что я хочу, так это умение делать

rsync --update --delete /local/dir/ cloudfiles://bucket

так что удаленное ведро содержит точное зеркало файлов, которые находятся в /local/dir/,

Метаданные файлов (владелец, права доступа) не важны, и внутри основного каталога нет каталогов.

5 ответов

Самый простой способ синхронизировать локальный каталог с облачными файлами Rackspace - использовать консольные инструменты, предоставляемые проектом openstack / swift. На Ubuntu инструменты могут быть установлены с apt-get install python-swiftclient

Затем, если вы находитесь в каталоге, который хотите загрузить, выполните в терминале следующую команду:

$ swift -A https://auth.api.rackspacecloud.com/v1.0 -U <username> -K <api-key> upload <containername> . --changed

Это будет рекурсивно загружать файлы из вашего текущего каталога в <containername> контейнер, экономя время за счет загрузки только измененных файлов. Вы должны поставить <username> вы используете для входа в облачную панель управления и <api-key> доступно в разделе "Учетная запись / Настройки учетной записи" в той же панели управления.

Внимание: если вы используете относительные или абсолютные пути, swift загрузит их с псевдо-путем, указанным в командной строке, в контейнер. Так что если вместо синхронизации . вы синхронизируете /var/www/testтогда файлы окажутся под /var/www/test псевдо-путь контейнера - скорее всего, это не то, что вы хотите.

Для Linux я нашел этот старый проект: http://code.google.com/p/cloudfiles-sync/wiki/Instructions

Для Windows есть этот инструмент с графическим интерфейсом: http://www.cloudberrylab.com/free-openstack-storage-explorer.aspx

Я также только что нашел этот инструмент, который может позволить вам смонтировать хранилище облачных файлов: http://smestorage.com/?p=static&page=LinuxDrive

Другой потенциальный вариант, в качестве альтернативы CloudFuse для монтирования Rackspace Cloud Files как тома, на котором вы запускаете rsync, вы можете запустить Caimito как мост Cloud-Files-to_WebDAV.

http://caimito.ngasi.com/

Тогда, хотя вы можете попытаться использовать плагин файловой системы Fuse DAV2 с rsync и набором специальных параметров командной строки для передачи файлов в Cloud Files через мост, я вместо этого рекомендую "sitecopy", который по своей сути не является ужасно непохож на унисон.

https://www.howtoforge.com/maintaining-remote-web-sites-with-sitecopy-debian-squeeze-ubuntu-11.10

Sitecopy делает БОЛЬШУЮ работу по передаче файлов через WebDAV к своей цели (даже если нашей целью является фронтальный слой эмуляции в Cloud Files). Это связано с тем, что "sitecopy" поддерживает локальную базу данных метаданных удаленного конца файла, что позволяет быстро сравнивать партии с rsync.

Caimito был на удивление стабильным и простым в установке и настройке, несмотря на свои корни Java.

Можно сделать вывод, что использование "swift" (упомянутое выше) может быть более прямым вектором решения, но это решение дает вам еще несколько мест для исследования, анализа, отладки и контроля потока данных.

Вы можете использовать модуль FUSE для Rackspace Cloud Files ( http://www.rackspace.com/knowledge_center/article/mounting-rackspace-cloud-files-to-linux-using-cloudfuse) для создания монтируемой файловой системы, но остерегайтесь следующие предостережения:

  • используйте что-то вроде --size-only, чтобы определить, был ли файл полностью записан, а не -a или что-то в этом роде, поскольку установка разрешений и времени не поддерживается
  • использование --bwlimit не сработает, потому что модуль кэширует записи во временный файл в памяти, а затем загружает всю пропускную способность при загрузке; Я провожу эксперимент с помощью утилиты Trickle, чтобы увидеть, помогает ли это

Я думаю, что вы можете использовать rsync для этого, но он не работает для вас по любой причине, также попробуйте: Unison File Synchronizer, он действительно отлично работает!

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