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/11/16 18:21] lmachucaf1:respaldarv2 [2018/12/27 13:31] (actual) lmachuca
Línea 1: Línea 1:
 ======respaldarv2====== ======respaldarv2======
  
-Respaldarv2 es un script de respaldos para bases de datos de MySQL, para varios productos de Helpcom.+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]].
  
 <note info> <note info>
Línea 9: Línea 9:
 =====Obtener ===== =====Obtener =====
  
 +  * Clonar desde el [[https://chiselapp.com/user/lmachucab/repository/respaldarv2|Repositorio Chiselapp]]
   * SFTP Helpcom   * SFTP Helpcom
-  * Repositorio Chiselapp 
-  * Copia local en el .0.200. 
  
- 
-FIXME Pendiente Publicar 
  
 =====Prerequisitos===== =====Prerequisitos=====
  
-  * Equipo con Linux Windows+  * Soporte para **Fossil**, versión 1.37 posterior
-  * Soporte para **Python 2.7**. +  * Soporte para **Python 2.7**. [[f1:Python|Ver Instalar Python]].
-    * En Debian 8 en adelante viene por defecto, pero debe verificarse en la distribución la diferencia entre instalar ''python'' y ''python2''+
-    * En Windows XP instalar Python %%<=%% 2.7.9; versiones posteriores sólo funcionan con Windows 7.+
   * Soporte para los siguientes paquetes de Python: ''subprocess'', ''configparser'', ''mysql'', ''tailer''.   * Soporte para los siguientes paquetes de Python: ''subprocess'', ''configparser'', ''mysql'', ''tailer''.
   * Soporte para las herramientas **MySQL client**: ''mysql'' y ''mysqldump'' al menos.   * Soporte para las herramientas **MySQL client**: ''mysql'' y ''mysqldump'' al menos.
     * De ser posible estas herramientas deben encontrarse en el ''$PATH''.     * De ser posible estas herramientas deben encontrarse en el ''$PATH''.
  
-=====Uso===== +=====Instalación=====
- +
-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. +
- +
-La sección [[#Archivo ini]] muestra un ejemplo de archivo de configuración.+
  
-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+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, al menos podremos ver una salida de Exception de Python+Alternativamentela página web del repositorio ofrece enlaces de descarga directa para usar con ''wget'' ''curl''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         +
  
-====Archivo ini====+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.
  
-<code ini prueba.ini+La documentación en el repositorio muestra la estructura del archivo .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   ^^ 
-| ''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, 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.  | 
-| ''log-error''  | Si esta variable está presente, se usa el valor para crear un archivo de registro de error de mysqldump, por ejemplo ''%%log-error=errores.txt%%'' | 
-| ''pause''  | Si esta variable está presente, el script se detiene al final para dar el tiempo al usuario de ver la pantalla con la información del proceso.  | 
  
 ====Entorno Gráfico==== ====Entorno Gráfico====
Línea 79: Línea 48:
  
 =====Notas===== =====Notas=====
-==== Instalar Python ==== 
- 
-=> Ver [[f1:Python]]. 
- 
 ==== 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
-  pip install tailer+
  
 ==== Instalar Cliente MySQL ==== ==== Instalar Cliente MySQL ====
Línea 101: Línea 65:
 ==== Ejemplo: Instalar en Linux ==== ==== 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''.   - Descomprimir nuestro programa de respaldo en una carpeta, por ejemplo ''respdb''.
-  - En el gestor de paquetes instalar las herramientas de MySQL Client y Python pip.\\ Por ejemplo en Debian: ''apt-get install mysql-client mysql-utilities python2 python-pip''. 
   - ...¡Listo! Linux es así de fácil.   - ...¡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 
  
  
Línea 126: Línea 94:
 2: 2:
 <code cmd 2> <code cmd 2>
-pip.exe install configparser+pip.exe install --user configparser tailer subprocess
 </code> </code>
  
Línea 137: Línea 105:
  
  
- 
-==== Dependencias Python Directo desde Python ==== 
- 
-Se puede invocar directamente desde la consola de Python (Linux o Windows) como se puede ver en [[https://stackoverflow.com/questions/12332975/installing-python-module-within-code|(1)]]: 
- 
-<code python> 
->>> import pip 
->>> pip.main(['install', 'configparser']) 
-</code> 
- 
-Ejemplo: 
- 
-<file> 
-Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win 
-32 
-Type "help", "copyright", "credits" or "license" for more information. 
->>> import pip 
->>> pip.main(['install', 'configparser']) 
-Downloading/unpacking configparser 
-  Downloading configparser-3.5.0.tar.gz 
-  Running setup.py  
- 
-Installing collected packages: configparser 
-  Running setup.py install for configparser 
- 
-    Installing C:\Python27\Lib\site-packages\configparser-3.5.0-py2.7-nspkg.pth 
-Successfully installed configparser 
-Cleaning up... 
-0 
->>> 
- 
-</file> 
- 
-Para Python en Cygwin es posible utilizar los ejemplos en [[https://stackoverflow.com/questions/24645468/install-python-modules-in-cygwin|(2)]]. 
  
 {{tag>helpcom sistemas python}} {{tag>helpcom sistemas python}}
  
  
f1/respaldarv2.1542392504.txt.gz · Última modificación: 2018/11/16 18:21 por lmachuca
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0