martes, 29 de julio de 2014

Scripts para Linux para crear y subir backups de tu servidor a Google Drive

Para poder subir archivos a Google Drive mediante su API hay que acceder a la consola de desarrollador de Google (https://console.developers.google.com/project), crear un nuevo proyecto, activar Drive API, y en el apartado "Credentials" crear un nuevo Client Id.

En este enlace podemos encontrar un buen script PHP para subir ficheros a Google Drive: http://ben.akrin.com/?p=2080. Al probarlo con mi cuenta de Drive, me surgieron dos fallos. Así que lo he modificado para corregirlos (He reducido el "chunk size" y he modificado la función parse_response para obtener el último HTTP header en caso de recibir varios, ya que Google me estaba enviado dos códigos HTTP (100 y 308) en la misma cabecera). Lo puedes conseguir aquí: https://github.com/sjvc/backup-linux-to-google-drive/blob/master/google_drive_uploader.php. Hay que configurar el Client ID, y el Client Secret que encontrarás en tu consola de desarrollador de Google (apartado "Credentials" de tu proyecto). También necesitarás el "refresh token", esto lo puedes obtener usando este script https://github.com/soulseekah/bash-utils/blob/master/google-oauth2/google-oauth2.sh obtenido de aquí: http://codeseekah.com/2013/12/21/headless-google-drive-uploads (esta web explica otra forma de subir los ficheros, pero tiene el problema de que usa el "auth token" y este caduca después de una hora tras haberlo creado. Sin embargo, nos sirve su forma de obtener el refresh token).

Puedes usar el siguiente script para comprimir y subir directorios: https://github.com/sjvc/backup-linux-to-google-drive/blob/master/backup-dirs.sh


Y este otro para crear, comprimir y subir bases de datos mysql: https://github.com/sjvc/backup-linux-to-google-drive/blob/master/backup-dbs.sh

No hay comentarios:

Publicar un comentario