Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
f1:respaldarv2 [2018/10/24 16:17] lmachucaf1:respaldarv2 [2018/12/27 13:31] (actual) lmachuca
Línea 1: Línea 1:
-Respaldarv2 es un script de respaldos para bases de datos de MySQL, para varios productos de Helpcom.+======respaldarv2======
  
-=====Obtener =====+Respaldarv2 es un script de respaldos para bases de datos de MySQL, que se puede usar para varios productos de Helpcom. En particular, se puede usar en [[:Instalación Linux Servidor]].
  
-FIXME Pendiente Publicar+<note info> 
 +Documento y software en versión preliminar. 
 +</note>
  
-=====Prerequisitos=====+=====Obtener =====
  
-  * Equipo con Linux o Windows+  * Clonar desde el [[https://chiselapp.com/user/lmachucab/repository/respaldarv2|Repositorio Chiselapp]] 
-  * Soporte para **Python 2.7**. +  * SFTP Helpcom
-    * En Debian 8 en adelante viene por defecto. +
-    * En Windows XP instalar Python %%<=%% 3.4; versiones posteriores sólo funcionan con Windows 7. +
-  * Soporte para los siguientes paquetes de Python: ''subprocess'', ''configparser'', ''mysql''.+
  
  
-=====Uso=====+=====Prerequisitos=====
  
-Para utilizar el script es necesario preparar un archivo ''.ini'' con la información que describe qué base de datos se va a extraer y de dóndeLa sección [[#Archivo ini]] muestra un ejemplo de archivo de configuración.+  * Soporte para **Fossil**, versión 1.37 o posterior. 
 +  * Soporte para **Python 2.7**. [[f1:Python|Ver Instalar Python]]
 +  * Soporte para los siguientes paquetes de Python: ''subprocess'', ''configparser'', ''mysql'', ''tailer''
 +  * Soporte para las herramientas **MySQL client**: ''mysql'' y ''mysqldump'' al menos. 
 +    * De ser posible estas herramientas deben encontrarse en el ''$PATH''.
  
-Para ejecutar el respaldo se invoca el script de respaldo **respaldar.py** con ''python'', pasando como argumento el nombre del archivo ''.ini'' que deseamos procesar+=====Instalación===== 
 + 
 +La página web del repositorio da las instrucciones para clonarO se puede seguir estos pasos:
  
 <code bash> <code bash>
-usuario@equipo python respaldar.py prueba.ini+administradorfossil clone https://chiselapp.com/user/lmachucab/repository/respaldarv2 respaldarv2.fossil 
 +administrador$ fossil open respaldarv2.fossil
 </code> </code>
  
-Si todo sale correctopodemos ver un archivo resultante con extensión ''.sql'' el cual tiene el respaldo de la base de datos. En caso de error el sistema sale con una línea "'' E : ''" indicando la naturaleza del error+Alternativamentela página web del repositorio ofrece enlaces de descarga directa para usar con ''wget'' ''curl'' o similar.
  
-El nombre del archivo resultante depende de una cantidad de factores, como la plataforma y el valor de la variable ''name''. En general, el nombre resultante de archivo será en uno de los dos formatos que siguen: 
  
-  {host}:{port}-{db}.sql     +=====Uso=====
-  respdb-{name}.sql         +
  
-=====Notas=====+Para utilizar el script es necesario preparar un archivo ''.ini'' con la información que describe qué base de datos se va a extraer y de dónde. Este archivo tiene el nombre por defecto **''respaldar.ini''** pero se puede tener cualesquiera archivos ini con nombres; el programa toma como argumento qué ini procesar.
  
-====Archivo ini====+La documentación en el repositorio muestra la estructura del archivo .ini.
  
-<code ini prueba.ini> 
-# Información de la conexión 
-host=192.168.1.100 
-port=3306 
-user=usuario 
-pass=password 
-# Información del respaldo 
-db=temp 
-name=prueba 
-</code> 
  
-^ Variables obligatorias   ^^ +====Entorno Gráfico====
-| ''host''  | IP, FQDN u otro nombre calificado del servidor a conectar. +
-| ''port''  | Puerto. +
-| ''user'', ''pass'' | Credenciales de la cuenta para sacar el respaldo. +
-| ''db''   | Nombre de la base de datos. | +
-^ Variables opcionales   ^^ +
-| ''name''  | Un nombre ficticio usado para describir el respaldo.\\ Permite generar un nombre de archivo más sencillo, como ''respdb-//name//.sql''  .  | +
-| ''mysqldump''  | Ruta y nombre del ejecutable de ''mysqldump'',\\ si no está disponible en el ''$PATH'' o en el mismo directorio. | +
-| ''options''  | Si esta variable existe, el valor literal se copia como más opciones a mysqldump.\\ Por ejemplo para poder poner las opciones ''--compatible=...'', ''--verbose'', o similar. | +
-| ''verification''  | Si esta variable está presente y tiene cualquier valor, el script presenta mensajes y peticiones de verificación de las configuraciones del respaldo y de las operaciones a realizar, de modo de ayudar a detectar errores.  |+
  
 +El script va acompañado de dos archivos que son lanzadores en modo gráfico: mientras estén en el mismo directorio que el script original ''respaldar.py'', basta con arrastrar y soltar un archivo .ini a este lanzador gráfico:
  
 +  * ''argv1.bat'': Lanzador gráfico para Windows, lanza la ventana de CMD que permite tomar el ini y lanzar la aplicación.
 +  * ''argv1.desktop'': Lanzador gráfico para Linux, lanza la ventana de terminal y permite asignar a un menú o botón del panel.
 +
 +=====Notas=====
 ==== Dependencias ==== ==== Dependencias ====
  
 Para instalar los módulos de python que se necesitan como dependencias debiera bastar con los siguientes comandos: Para instalar los módulos de python que se necesitan como dependencias debiera bastar con los siguientes comandos:
  
-  pip install configparser +  pip install --user configparser 
-  pip install subprocess +  pip install --user subprocess 
-  pip install StringIO+  pip install --user tailer 
 + 
 +==== Instalar Cliente MySQL ==== 
 + 
 +Para ejecutar correctamente el script asume que es posible encontrar las aplicaciones de MySQL en el ''$PATH'', ya sea en Windows o en Linux. Si éste no fuera el caso es posible hacer una de dos cosas: 
 + 
 +  * Copiar los ejecutables de ''mysqldump'' y las librerías que requiere en la misma carpeta que el programa de respaldos. 
 +  * Utilizar la variable ''mysqldump'' en el archivo.ini para poder apuntar a la ruta donde se encuentra el programa. 
 + 
 +==== Ejemplo: Instalar en Linux ==== 
 + 
 +  - En el gestor de paquetes instalar las herramientas de Fossil, MySQL Client y Python pip. 
 +  - Descomprimir nuestro programa de respaldo en una carpeta, por ejemplo ''respdb''
 +  - ...¡Listo! Linux es así de fácil. 
 + 
 +Ejemplo de línea de comando para instalar las herramientas en Debian: 
 + 
 +  apt-get install fossil mysql-client mysql-utilities python2 python-pip virtualenv  
 + 
 + 
 +==== Instalar en Windows XP ==== 
 + 
 +  - Descomprimir nuestro programa de respaldo en una carpeta, por ejemplo ''respdb''
 +  - Instalar **Python for Windows 2.7.9** desde algunas de las fuentes indicadas arriba. 
 +  - En las opciones de instalación asegurarse que están seleccionados todos los script (FIXME TOBEDONE agregar foto) 
 +  - Instalar las herramientas de consola de MySQL desde un instalador de [[:f1:Mysql Server]] o de un MySQL Community Wizard. 
 +  - Abrir una consola de CMD y llevar la terminal al directorio del entorno de Python (1) 
 +  - Ejecutar ''pip.exe'' para instalar los componentes y dependencias en el entorno (2) 
 +  - Si el equipo **no** tiene las herramientas de MySQL agregadas en el ''%PATH%'', \\ copiar los siguientes archivos a la misma carpeta: (3)  
 + 
 + 
 +1: 
 +<code cmd 1> 
 +rem cambiar la ruta de Python por la que se usó al instalar el sistema 
 +C: 
 +cd \Python27\Tools 
 +</code> 
 + 
 +2: 
 +<code cmd 2> 
 +pip.exe install --user configparser tailer subprocess 
 +</code> 
 + 
 +3: 
 +<file> 
 +mysqldump.exe 
 +mysql.exe 
 +libmysql.dll 
 +</file> 
  
-Para instalar **Python** en sí en un equipo depende de la configuración del sistema operativo: 
  
-  * **Linux**: Python 2.7 ya viene nativo. Verificar con ''%%python --version%%''+{{tag>helpcom sistemas python}}
-  * **Windows**: Instalar una de varias alternativas: [[https://www.python.org/downloads/windows/|Python for Windows]], [[http://www.cygwin.org/|Cygwin]] con Python, [[https://sourceforge.net/projects/winpython/files/WinPython_2.7/|WinPython]], Active Python, etc. +
-    * Windows XP: La última versión de Python for Windows soportada en Windows XP es [[https://www.python.org/downloads/release/python-279/|2.7.9]].+
  
  
f1/respaldarv2.1540397835.txt.gz · Última modificación: 2018/10/24 16:17 por lmachuca
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0