Ir al contenido principal

Entradas

Enviar archivos por sftp con Python

Esta es una breve modificación a uno de los scripts creados con anterioridad y que consiste en enviar un archivo por  sftp.   La necesidad en concreto consistía en comparar ambos servidores local y remoto y validar qué archivo faltaba en el remoto que estuviera en el local para proceder a enviarlo y mantener el remoto actualizado. Este script se guarda con el nombre que quieras, le das permiso de ejecución y lo agregas en un crontab. import pysftp import os # Cambiar por la ruta donde se generan los archivos (Amsterdam) servidor_local = os.listdir(r'C:\proyecto\archivos') #print servidor_local # Cambiar por una ruta en Amsterdam, puede ser /tmp/res os.remove(r"c:\proyecto\res\archivos.txt") for archivos in servidor_local: # Cambiar por '/tmp/res/archivos.txt','a' local = open(r"c:\proyecto\res\archivos.txt",'a') print 'Archivo local: '+archivos local.write(str(archivos)+'\n') ...

Comparar y enviar por ftp con Python

Aunque por razones laborales me encuentro casi de lleno en la administración de bases de datos, en algunas ocasiones mis compañeros de infraestructura se encuentran con algunas situaciones las cuales pueden ser resueltas de forma "fácil y divertida" usando Python y aquí es donde entro a sugerir y ayudar con algunas cosas de mi antigua área de infraestructura. Para este caso la situación es esta: Cada día se generan en un directorio archivos con consolidados de transacciones que deben ser enviados a un servidor externo por ftp. En el directorio permanencen almacenados los archivos generados durante un mes y cada mes se va borrando el más antiguo. Se necesitaba automatizar ese proceso pero con la condición de que sólo se debía enviar el archivo generado el último día; para ello creamos entonces el siguiente script en Python que se conecta al servidor remoto para listar los archivos que tiene ya cargados; genera el listado del servidor local con los archivos generados desde...

Actualización de Kernel sin reinicio

Si exite algo molesto en el sistema operativo de Bill es que al instalar actualizaciones necesitas reiniciar la máquina y ni qué decir cuando quieres apagar la máquina y este sistema operativo te lleva la contraria y te pone un mensaje de "No apague ni desconecte Windows ...." También es verdad que algunas actualizaciones de linux que incluyen modificaciones al kernel requieren reinicio de la máquina lo que igualmente no deja de ser molesto; claro que se tiene la pequeña diferencia que puedes evitar eso, seguir trabajo y esperar al apagado de la máquina y con eso tendrías. Afortunadamente parece que los que usamos Linux ya no tenemos que pasar por esto del reinicio con las actualizaciones del kernel y esto gracias en un principio a SUSE y RED HAT quienes unieron esfuerzos en desarrollar la tecnología para poder parchar el kernel en caliente.  Esta tecnología ya es utilizada con alguna anterioridad por ksplice adoptado y comprado por el amigo Oracle quien lo convirtió...

Manjaro Linux

 Disfruta la sencillez. Manjaro es una distribución Linux (basada en Arch Linux ) con  Xfce como entorno gráfico por defecto.  Está desarrollado por Roland Singer, Guillaume Benoit y Philip Müller. El objetivo principal de Manjaro; como reza su lema, es mantener la sencillez para que pueda usar cualquier usuario.  Al ser basado en Arch conserva el sistema conserva el gestor de paquetes denominado Pacman . Maneja tres tipos de repositorio: unstable, testing y stable. La última versión estable (al momento de escribir este artículo) de Manajaro fue la publicada el 2015-02-14 Manjaro 0.8.12 released en la que agregan entre otras: - KDE 4.14.5 - KDE Apps 14.12.2 - NetworkManager 1.0.0 para corregir fallo en actualización - flashplugin 11.2.202.442 - Firefox con la versión 35.0.1 - Plasma 5.2 Esta distribución actualmente ocupa el puesto número 16 de 100 de las más visitadas/consultadas en la web de distrowatch. Vamos a darle un pequeño un vistazo ...

Can't open /dev/mapper/ exclusively - not removing. Mounted filesystem?

Por elevado/distraido presente dos discos desde la SAN (para mi caso un IBM StoreWize 7000) de 20Gb cada uno cuando realmente debía ser solo de 2Gb, a un par de servidores Linux que van destinados para montar Oracle RAC; es decir, me sobre en el espacio asignado. Como estos discos ya habían sido pasados por el fdisk y mapeados en ambas máquinas no me funciona el hecho de solo reducir el tamaño desde el almacenamiento ya que el fdisk le dice al sistema dónde inicia y termina cada uno los sectores de los discos en cuestión. Se podría pensar... mmm entonces un pvresize, y de hecho pvresize nos permite "reducir" el tamaño del disco " a nivel de sistema operativo " actualizando los sectores con la siguiente instrucción: #pvresize --setphysicalvolumesize 2G /dev/mapper/disco1 #pvresize --setphysicalvolumesize 2G /dev/mapper/disco2 Y los discos quedan "a nivel de sistema operativo" de 2G; pero si consultas el almacenamiento sigues viendo los dos disco...

Io Exception: NL was generated

Ayer en la madrugada una vez terminada de migrar unas bases de datos hacia los nuevos servidores, se nos presentó un error al subir uno de nuestros switches transaccionales y a esa hora de la madruga lo último que uno quiere es que aparezca un error que no existe en nuestra base de conocimiento. No hubo más de otra que recurrir a nuestro más preciado amigo GOOGLE y abriendo y abriendo webs dí con una que nos permitió dar solución al asunto. La línea que te muestra que aún no te puedes ir a dormir es: java.sql.SQLException: Io exception: NL Exception was generated Nuestro string de conexión es de la forma: jdbc:oracle:thin:@DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = el_scan_del_host)(PORT = elpuerto)))(LOAD_BALANCE = YES)(CONNECT_DATA = (SERVER = DEDICATED)    (SERVICE_NAME = sid_delabase)(FAILOVER_MODE = (TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5)))) ¿Y de qué forma nos funcionó?  Pues tuvimos que hacer algunos cambio...

Comandos peligrosos en Linux

Si eres un fan de linux y estás dando ese paso de junior a senior en el uso de tu sistema operativo, seguramente te habrás dado cuenta que la consola es una gran ayuda a la hora de administrar nuestro pc o nuestras aplicaciones ya que dicha consola nos permite ver los logs, matar procesos, controlar espacios, programar tareas, etc. Para llevar a cabo esas tareas de administración te vales de comandos muy útiles como el grep, top, df, entre otros; pero si tienes las credenciales de acceso como root (que es de suponer) existen otros comandos con los que se debe ser extremadamente cuidadoso, sobre todo en ambientes productivos ya que con la ejecución de éstos te pueden dar una liquidación y vacaciones permanentes por parte de tu empresa. Te presento entonces algunos de los comandos que debes NO tratar de ejecutar: 1. rm -rf / Este comando te dá expulsión inmediata de cualquier empresa que tenga en alta estima el activo llamado información digital. Con esta instrucción estás eliminando T...