Skip to content

argenisfd/dropboxServerBackup

Repository files navigation

Python Application to create backup into dropbox account

#Requerimientos python >= 2.7 git pip virtualenv (opcional)

#Instalación

##Instalar Git

sudo apt-get install git-core

##Instalar pip Para mayor documentación ir a la documentación

sudo apt-get install python-setuptools python-dev build-essential 

##Instalar virtualenv Para mayor información visitar esta web. sudo pip install virtualenv

##Clonar el repositorio Ante de clonar el repositorio debe ubicarse en la carpeta donde se va a hacer la instalación. Para este ejemplo usaremos la carpeta come del usuario actual cd ~

Ahora hacemos clone del proyecto con git

git clone https://github.com/argenisfd/dropboxServerBackup.git

esto creará la carpeta dropboxServerBackup ingresamos a ella:

cd dropboxServerBackup

Instalando dependenncias con pip y virtualenv

virtualenv ./env 

El comando anterior creará la carpeta env/.

Ahora activaremos el enviroment (es necesario hacer esto cada vez que se quiera correr el programa)

source ./env/bin/activate

Instalamos todas las dependencias

pip install -r requirements.txt 

Hacemos una copia del archivo paramaters_dist.py con el nombre parameters.py

cp  paramaters_dist.py parameters.py

y modificamos el contenido del nuevo archivo creado parameters.py

  • dropbox.token: token de la api de dropbox.
  • dropbox.sql_backup_folder: carpeta donde se guardarán los backups (en dropbox).
  • databases: aquí puede ir una lista de bases de datos a las que se les quiere hacer backup.
  • databases.host: IP o dominio del servidor de base de datos.
  • databases.port: Puerto del servidor de base de datos.
  • databases.user: Usuario del servidor de base de datos, verificar el el usuario tenga acceso a la base de datos a la que se le desea hacer el backup.
  • databases.password: Password del usuario de base de datos.
  • databases.name: Nombre de la base de datos a la que se le hará el backup.
  • databases.dropbox_backup_strategy (opcional): estrategia para el almacenamiento en dropbox (normal = crea un nuevo archivo, replace = crea el nuevo archivo y elimina el anterior, replace_if_gt_or_eq = Genera el nuevo archivo y elimina el anterior si es mas pequeño o igual al nuevo).
  • directory_backup: Listado de rutas a las que se le desea hacer el backup, esto no está desarrollado aún, espero colaboradores :).
#paramaters.py

parameters={
       "dropbox":{
                  "token":"--dropbox application token--",
                  "sql_backup_folder":"/sql_backup/"
                  },
       "databases":[
                    { 
                     "host": "localhost",
                     "port": "3306",
                     "user":"",
                     "password":"",
                     "name":"database-1",
                     "dropbox_backup_strategy": "replace_if_gt_or_eq"
                     },
                    { 
                     "host": "localhost",
                     "port": "3306",
                     "user":"",
                     "password":"",
                     "name":"database-1"
                     }
                    ],
       "directory_backup":[],
       
       }

Una vez configurado correctamente los parametros probamos

python backup_command.py

Si todo funciona bien vamos al siguiente paso.

##Configurar Cron

crontab -e

Y editamos el archivo de cron, si no pregunta el editor a usar, preferiblemente usar nano. y agregamos esta linea al final del archivo (Saber mas sobre crontab herramienta para crear crontab ).

0 3 1 * * PYTHONPATH=/RUTA-HASTA-LA-CARPETA-ENV-CREADA/lib/python2.7/site-packages/ python /RUTA-HASTA-LA-CARPETA-DE-INSTALACION/backup_command.py 

Con esta linea el backup se ejecutará todos los días a las 3:01 am.

Para probar si el comando ingresado anteriormente funciona bien lo probamos directamente en la consola.

Primero desactivamos el virtualenv

deactivate

ejecutamos

PYTHONPATH=/RUTA-HASTA-LA-CARPETA-ENV-CREADA/lib/python2.7/site-packages/ python /RUTA-HASTA-LA-CARPETA-DE-INSTALACION/backup_command.py

About

Aplicación para hacer backups de un servidor automáticamente en dropbox con python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages