¿Qué herramienta puedo usar para sincronizar el contenido de un directorio local con el de un depósito de Rackspace Cloud Files?
Necesito una aplicación similar a rsync para hacer una duplicación, no una aplicación de respaldo. Lo que quiero es la capacidad de hacer
rsync --update --delete /local/dir/ cloudfiles://bucket
para que el depósito remoto contenga un espejo exacto de los archivos que están en /local/dir/
.
Los metadatos de los archivos (propietario, permisos) no son importantes y no hay directorios dentro del directorio principal.
Respuesta1
La forma más sencilla de sincronizar un directorio local con archivos en la nube de Rackspace es a través de las herramientas de consola proporcionadas porproyecto openstack/swift. En ubuntu, las herramientas se pueden instalar conapt-get install python-swiftclient
Luego, asumiendo que estás en el directorio que deseas cargar, ejecuta el siguiente comando en la terminal:
$ swift -A https://auth.api.rackspacecloud.com/v1.0 -U <username> -K <api-key> upload <containername> . --changed
Esto cargará recursivamente los archivos desde su directorio actual al <containername>
contenedor, ahorrando tiempo al cargar solo los archivos modificados. Debe proporcionar el <username>
que utiliza para iniciar sesión en el Panel de control de la nube y el <api-key>
disponible en Cuenta/Configuración de cuenta en el mismo panel de control.
Atención: Si usa rutas relativas o absolutas, Swift las cargará con la pseudorutaproporcionado en la línea de comandoen el contenedor. Entonces, si en lugar de sincronizar .
sincroniza /var/www/test
, los archivos terminarán en la /var/www/test
pseudoruta del contenedor; lo más probable es que esto no sea lo que desea.
Respuesta2
Para Linux encontré este antiguo proyecto:http://code.google.com/p/cloudfiles-sync/wiki/Instructions
Para Windows existe esta herramienta GUI: http://www.cloudberrylab.com/free-openstack-storage-explorer.aspx
También encontré esta herramienta que podría permitirle montar el almacenamiento de archivos en la nube:http://smestorage.com/?p=static&page=LinuxDrive
Respuesta3
Puede utilizar el módulo FUSE de Rackspace Cloud Files (http://www.rackspace.com/knowledge_center/article/mounting-rackspace-cloud-files-to-linux-using-cloudfuse) para crear un sistema de archivos montable, pero tenga cuidado con las siguientes advertencias:
- use algo como --size-only para determinar si el archivo se escribió completamente, no -a ni nada por el estilo, ya que no se admite la configuración de permisos y tiempos.
- usar --bwlimit no funcionará, porque el módulo almacena en caché las escrituras en un archivo temporal en la memoria y luego consume todo el ancho de banda al cargar; Estoy realizando un experimento usando la utilidad de goteo para ver si eso ayuda.
Respuesta4
Creo que puedes usar rsync para eso, pero eso no funciona para ti por cualquier motivo, también intenta:Sincronizador de archivos al unísono¡Realmente funciona muy bien!