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 19:02] 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====== 
 + 
 +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 7: 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 77: Línea 48:
  
 =====Notas===== =====Notas=====
-==== Instalar Python ==== 
- 
-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%%''. 
-  * **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]]. 
- 
- 
 ==== 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 104: 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:
  
-==== Ejemplo: Instalar en Windows XP ====+  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''.   - Descomprimir nuestro programa de respaldo en una carpeta, por ejemplo ''respdb''.
Línea 129: 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 139: Línea 104:
 </file> </file>
  
-==== 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+{{tag>helpcom sistemas 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... +
-+
->>> +
- +
-</file>+
  
-Para Python en Cygwin es posible utilizar los ejemplos en [[https://stackoverflow.com/questions/24645468/install-python-modules-in-cygwin|(2)]]. 
  
f1/respaldarv2.1540407755.txt.gz · Última modificación: 2018/10/24 19:02 por lmachuca
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0