Mostrando las entradas con la etiqueta tip. Mostrar todas las entradas
Mostrando las entradas con la etiqueta tip. Mostrar todas las entradas

martes, 19 de septiembre de 2017

[Tip - Linux] - Non Interactive forms in apt autoremove

Me sucedió recientemente que debia programar un script que limpie en apt los servidores con autoremove, pero la tarea se volvio complicada ya que "apt-get -y autoremove" cuando esta limpiando las imagenes del kernel empieza a preguntar si los archivos de configuracion los queremos cambiar o dejar como estan, teniendo que dar enter una y otra vez.

En mi caso, luego de charlar el tema en https://sysarmy.com.ar/help/ , me indicaron que pruebe con esto, que fue mi solucion definitiva:

DEBIAN_FRONTEND=noninteractive apt-get -y autoremove


Saludos!


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987



miércoles, 15 de marzo de 2017

[Tip - Linux] - Buscar archivos por tamaño con find

Hay veces en las que necesitamos buscar archivos por su tamaño, ya sea porque tenemos problemas de espacio y necesitamos encontrar urgente algo grande que borrar, o porque no entendemos en donde se fue el espacio en disco e intuimos que es algun archivo de gran tamaño que dejamos perdido por algun lugar. Esos tipicos backups que hacemos para mover algo de lugar y despues el tar.gz queda perdido en alguna carpeta del filesystem.


 find . -type f -size +50000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'


En el find anterior podemos tocar los parametros " . ", que busca en la carpeta en la que estamos parados, y en sus subcarpetas y el parametro "+50000k", que significa algo asi como "mayores a 50 megas".

Espero que les sirva, otras formas de ver a donde se nos esta yendo el espacio del disco pueden ser:

du -h . --max-depth=1

Sin ir navegando en las subcarpetas, este DU nos mostrara cuando espacio estan ocupando cada uno de los nodos que se desprenden de donde estemos parados.

Y si nuestro problema de es de iNodos, podemos hacer un:

find -maxdepth 1 -type d | while read -r dir; do printf "%s:\t" $dir; find $dir -type f | wc -l; done

Como con el DU, este FIND nos va a mostrar cuantos nodos se esta consumiendo cada subdirectorio de donde estemos parados.

Si necesitamos buscar todos los archivos más antiguos que uno fecha, podemos hacer:

find /* -mtime +2

Y si queremos borrar automaticamente todos los archivos más antiguos que una fecha, podemos hacer:

find /tmp* -mtime +5 -exec rm -rf {} \;


Saludos.


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987



miércoles, 14 de octubre de 2015

[Linux - Tip] - Reinstalar GRUB en Linux Centos, Red Hat o Ubuntu

A veces porque se corrompió el sector de booteo del disco, o quizás porque instalamos Windows en otra partición, pero a Windows le importa muy poco si hay otros sistemas operativos en el disco, así que borra GRUB. En caso de que el loader de GRUB se corrompa y no sea posible iniciar el kernel de Linux en CentOS o RedHat, se pueden seguir los siguientes pasos:



*    Bootear el equipo con el disco de instalación de Red Hat o CentOS.

*    Elegir la opción Linux Rescue, y cuando aparezca la consola tipear: linux rescue

*    Seguir los pasos para montar el sistema.

*    Ejecutar chroot /mnt/sysimage para entrar como root al filesystem.

*    Ejecutar para reinstalar GRUB en el disco deseado donde SDA es el disco en el que teniamos el sistema de archivos: /sbin/grub-install /dev/sda

*    Reiniciar.

Y con estos pasos queda reinstalado GRUB en el disco correspondiente.

En distribuciones basadas en Ubuntu, se puede realizar de la siguiente manera:

En caso de que el loader de GRUB se corrompa y no sea posible iniciar el kernel de Linux en Ubuntu, Kubuntu, Ubuntu server o derivados, se deben seguir los siguientes pasos:

 *  Bootear el equipo con el disco de instalación de Ubuntu o Ubuntu Server

 *  Elegir la opción Rescue del menu.

 *  Seguir los pasos para configurar el instalador de Ubuntu.

 *  Elegir la opción Reinstalar o Recuperar el GRUB Loader.

 *  Seleccionar el disco correspondiente donde instalarlo, por ej: /dev/sda .

 *  Reiniciar.

Saludos.


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987



miércoles, 15 de julio de 2015

[Tip - Oracle] - Error "LRM-00116: syntax error at 'sessions' following '='" configurando una DB Oracle 11g XE

Me pidieron instalar una Base de Datos Oracle 11G Express en un servidor Centos 7, y por algún motivo pensé que no iba a tener problemas. La instalación finalizo bien, pero una vez que termina de instalar te pide que ejecutes como root el comando /etc/init.d/oracle-xe configure para configurar la DB de XE.






miércoles, 17 de diciembre de 2014

[TIP - Linux] - Borrar archivos antiguos - Borrar archivos con mas de x cantidad de dias

En lo que a administración de sistemas se refiere, se nos suele poner enfrente la situacion de administrar los o salidas de datos que se generan de millones, pero que no podemos eliminar todos los archivos de un tirón.


Por ej, tenemos un software en el servidor, que genera unos XLS con datos, todo el tiempo, todos los días. Y desde la empresa, nos informan que la política es mantener SIEMPRE los últimos 15 días de archivos. O sea, deberíamos entrar todos los días, y eliminar los mayores a 15 días. A mano, es una tarea bastante horrible, salvo que tengamos que justificar horas, y bueno, todos los días, unos 30 minutos borrando logs y outputs es mejor que nada.

Pero si lo que queremos es automatizar esta tarea, con el uso del querido Cron, lo único que deberíamos hacer es configurar un solo comando para que se ejecute de manera periódica, este comando seria:

find /prod/aplicacion/salidas/out/PROD* -mtime +15 -exec rm {} \;

Donde /prod/aplicacion/salidas/out/PROD, es el path donde están los archivos que se desea eliminar. Eso si, MUY importante tener en cuenta que el asterisco (*) esta PEGADO al ultimo caracter del Path.
Y +15 es el dato de mayor a 15 dias de creados, bien podría ser 1, 7, o lo que quieran.

Espero que les sirva.

Saludos!
Jorge Abreu.

Imagen original de: brunocb



Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987



martes, 12 de agosto de 2014

[IDE] - [ SqlDeveloper ] - Solucion al error de "msvcr71.dll not found" en Windows XP

Si bien todos sabemos que Windows XP deberia dejar de utilizarse por un motivo u otro, no es descabellado llegar a una empresa y que aun tengan este sistema por defecto en sus equipos. Por problemas economicos, de infraestructura, o personal, no han migrado a otros Sistemas Operativos.

Esto nos puede llevar a tener que trabajar en uno de estos equipos, y que al utilizar el SqlDeveloper para administrar, o trabajar en alguna Base de Datos, no podamos iniciarlo por el error: "msvcr71.dll not found"

Aqui tienen una Screenshot del error, y del error que sale posteriormente al no poder iniciarse la maquina virtual de java para ejecutar el SqlDeveloer:
"no se encontro MSVCR71.dll"
Y luego:
"Unable to lunch the Java Virtual Machine..."

Para solucionar este error, hay que abrir el Regedit, y luego ir a la direccion:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

* Alli mismo, agregar una nueva "Key" (clave) dentro de "App Paths" con el nombre sqldeveloper.exe

* Luego, setear el valor por "Default" al path completo del ejecutable, incluyendo el nombre y extension del ejecutable mismo.

* Luego, crear una nueva "String" (Valor Alfanumerico) para "sqldeveloper.exe" llamada "Path" y setear su valor al path completo del directorio  jdk/jre/bin en los archivos del SQLDeveloper.

Una vez realizado todo esto, quedaría de la siguiente manera:

Y problema solucionado.

Saludos.


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: ar_jorge1987



martes, 5 de agosto de 2014

[Linux - bash] - Automatizar una conexion SFTP en Bash

Existen ciertos sistemas en los que se nos requiere conectarnos por SFTP sin alternativa a ninguna otra solución, y necesitamos generar algún tipo de automatización, ya que todos los días hay que descargar un archivo en particular. Por ej, un Backup.



Para este tipo de automatizaciones, se utiliza una llave RSA/DSA, y así evitar el tener que ingresar una contraseña por medio del teclado.

Script de ejemplo:
###############################################
#!/bin/bash
echo "Comienzo del Script..."
sftp -i id_server_dsa root@server.domain.com <<EOF
get backupdeldia.tar.gz
bye
EOF
###############################################

-i: Para indicar que la conexión es mediante una clave RSA/DSA para que no pida contraseña.
id_server_dsa: La clave encriptada generada en el servidor.
root@server.domain.com: Usuario y Servidor.
<<EOF: Para indicarle el ingreso de comandos para el programa hasta que encuentre el "EOF".
get backupdeldia.tar.gz: Para descargar el archivo en cuestión.
bye: Pasa salir de SFTP
EOF: Para finalizar el ingreso de comandos en SFTP y vuelva a la consola.

Obviamente existen muchas cosas mas para hacer, y de varias maneras, este es un ejemplo mínimo para si estas buscando darte una idea de como hacerlo.

Adicionalmente aquí les dejo un Script real que hice para trabajar con un servidor SFTP del cual tenia que bajar los archivos de una carpeta (OUT), y luego borrarlos una vez descargados.

##########################################################
#Descarga de los archivos en la carpeta OUT.
date >> log/SFTP.log
echo "Comienza SFTP, se procede con la descarga" >> log/SFTP.log

sftp -oIdentityFile=id_server_dsa -oPort=21 root@server.domain.com <<EOF
cd OUT
get ./*
bye
EOF

RETVAL=$?
if [ $RETVAL -ne 0 ]
then
echo "Error en Download de los files" >> log/SFTP.log
exit 10
fi

date >> log/SFTP.log
echo "Finalizo SFTP, se procede con la descarga" >> log/SFTP.log

#Borrado de los archivos en el Servidor.
date >> log/SFTP.log
echo "Se eliminan los archivos en OUT" >> log/SFTP.log

sftp -oIdentityFile=id_server_dsa -oPort=21 root@server.domain.com <<EOF
cd OUT
rm ./*
bye
EOF

RETVAL=$?
if [ $RETVAL -ne 0 ]
then
echo "Error en borrado de los files descargados" >> log/SFTP.log
exit 20
fi

date >> log/SFTP.logecho "Se eliminaron los archivos en OUT" >> log/SFTP.log
##########################################################


Fuente original de la Imagen Aqui .

Saludos.


Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: ar_jorge1987





viernes, 25 de julio de 2014

[IDE] - [ SqlDeveloper ] - Solucion al error de "Timezone region not found"

En algunas versiones de Oracle SqlDeveloper, sobre todo al introducirse la version 3, se desata un error relativo al Time Zone region not found o tambien ORA-00604.





Para solucionar este error, solo se necesita editar el archivo de configuracion:
Linux:
/opt/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf
Windows:
X:\sqldeveloper\sqldeveloper\bin\sqldeveloper.conf

Y en el archivo, agregar la siguiente linea al final y guardar:
AddVMOption -Duser.timezone="-03:00"

Es necesario reiniciar el SqlDeveloper luego de hacer esta modificación en el archivo.

Saludos.

Fuente de la Screenshot Aqui . (No tenia una Screenshot mia a mano)




Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: ar_jorge1987