Haz Backups en Amazon S3 desde LinuxTodos sabemos que los servidores con velocidad, disponibilidad y varios cientos de gigas para almacenamiento no están al alcance de cualquiera. Las tarifas que suelen acompañar a este tipo de servicios han hecho que más de uno optimice al máximo los datos antes de subirlos a Internet, se piense dos veces qué incluir y qué no o que decida montarse un servidor casero con las limitaciones que esto implica (por nombrar dos: velocidad y seguridad). [root@domU-12-31-39-02-68-55 /]# ruby -v ruby 1.8.4 (2005-12-24) [i386-linux] En este caso la versión de Ruby es reciente, por lo que se puede instalar S3sync sin problemas. [root@domU-12-31-39-02-68-05 /]# wget http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz
--05:36:39-- http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz
=> `s3sync.tar.gz´
Resolving s3.amazonaws.com... 72.21.211.148
Connecting to s3.amazonaws.com|72.21.211.148|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 30,415 (30K) []
100%[====================================>] 30,415 --.--K/s
05:36:39 (7.24 MB/s) - `s3sync.tar.gz´ saved [30415/30415]Y la descomprimimos. [root@domU-12-31-39-02-68-05 /]# tar -xzvf s3sync.tar.gz s3sync s3sync/HTTPStreaming.rb s3sync/README.txt s3sync/README_s3cmd.txt s3sync/S3.rb s3sync/s3cmd.rb s3sync/s3config.rb s3sync/s3config.yml.example s3sync/S3encoder.rb s3sync/s3sync.rb s3sync/s3try.rb s3sync/S3_s3sync_mod.rb s3sync/thread_generator.rb Cuando nos registramos a Amazon recibimos una clave ID de acceso y una clave secreta que nos valdrá ahora para asociar nuestra cuenta con S3. Asignamos ambas claves al servicio de esta manera. (cambiad ´xxxx´ por vuestro ACCESS KEY ID e ´yyyy´ por vuestro SECRET ACCESS KEY) [root@domU-12-31-39-02-68-05 /]# AWS_ACCESS_KEY_ID=xxxx [root@domU-12-31-39-02-68-05 /]# export AWS_ACCESS_KEY_ID [root@domU-12-31-39-02-68-05 /]# AWS_SECRET_ACCESS_KEY=yyyy [root@domU-12-31-39-02-68-05 /]# export AWS_SECRET_ACCESS_KEY Hecho esto todo se reduce a partir de ahora a utilizar el script s3cmd.rb que tenemos dentro de la carpeta s3sync. Antes de nada comentar que la información dentro del S3 se ordena por buckets, que para entendernos se asemejan a las unidades de disco. Es decir, dentro de nuestra cuenta S3 crearemos tantas unidades de disco o buckets como necesitemos, y ahà subiremos nuestros archivos. ./s3cmd.rb createbucket mi_unidad Eliminar un bucket: ./s3cmd.rb deletebucket mi_unidad Listar buckets: ./s3cmd.rb listbuckets Subir un archivo a un bucket: ./s3cmd.rb put mi_unidad:backup.txt example.txt El comando anterior copiarÃa el archivo local ´example.txt´ al bucket ´mi_unidad´, donde pasarÃa a llamarse ´backup.txt´. ./s3cmd.rb put mi_unidad:backup.txt example.txt x-amz-acl:public-read Podemos verificarlo entrando en un navegador e indicando el bucket y el archivo al que queremos acceder: ./s3cmd.rb delete mi_unidad:backup.txt Eliminar todo el contenido de un bucket: ./s3cmd.rb deleteall mi_unidad Descargar un archivo del bucket si este es público: wget http://mi_unidad.s3.amazonaws.com/backup.txt Descargar un archivo del bucket si este es privado: ./s3cmd.rb get mi_unidad:backup.txt example.txt Para cuando se trata de mover varios archivos, directorios o combinaciones de ambos usamos el script s3sync que también viene incluido. Veamos algunos comandos: ./s3sync.rb -r /root/archivos/ mi_unidad:/ CopiarÃa el contenido del directorio /root/archivos/ en la raiz del bucket. ./s3sync.rb -r mi_unidad: /root/archivos/ RealizarÃa la operación inversa. 05-04-2009 Comentarios: 22-04-2009 | Fernando
Gracias Compadre, voy a replicar tu experiencia. Dale un trabajito de SEO a la pagina, esta info si no la rebusco no la encuentro. Y esta buena. 20-01-2010 | SaveR
Listar los archivos contenidos en un bucket también es sencillo con el comando: ./s3cmd.rb list nombrebucket 11-04-2010 | SaveR
En s3tools.org se explica como instalar s3cmd y ganar algo de comodidad http://s3tools.org/s3cmd http://s3tools.org/s3cmd-sync Pues yo pienso que: | Feed RSS¿Esto qué es?Un intento de blog. Tengo esa mala costumbre de hacérmelo todo y me he resistido a la tentación de usar blogspot o Wordpress terminando por programarme mi propio blog. Soy asÃ... luego me pasa lo que me pasa. ¿Y por donde paras? |