domingo, 3 de noviembre de 2019

Borrando un archivo que no deberia tener problemas


Puede que a veces cuando cometemos errores en las salidas a log de scripts, queden archivos como el de este ejemplo "domingo log"   -dom.log, en mi caso es claro que no quería que este quedara iniciando por el modificador, dado que para los comandos en Linux, puede ser un tema el - entendido como modificador, aquí algunos ejemplos:

# ls -lrtogh
-rw-r--r--. 1  15M nov  3 06:43 -dom.log

# rm -dom.log
rm: opción inválida -- 'o'


Aveces cuando se quieren diseccionar caracteres especiales usamos la salida \Carácter para invocar este carácter con el ánimo que sea entendido como una cadena  y no como un modificador:


# rm \-dom.log
rm: opción inválida -- 'o'
 
Otras veces podemos usar "" para encerrar esta cadena.....

# rm "-dom.log"
rm: opción inválida -- 'o'


Pruebe 'rm ./-dom.log' para borrar el fichero «-dom.log».
Pruebe 'rm --help' para más información.


Aquí es donde por fin le ponemos atención a la salida del comando(y dejamos de hacer pruebas con las entradas), esta parece ser una excepción a la regla y por fin leyendo lo que pide el comando, agregamos la no muy conocida "./" que nos referencia el archivo dentro del directorio así:

# rm "./-dom.log"
rm: ¿borrar el fichero regular «./-dom.log»? (s/n) s


El archivo se ha ido

miércoles, 18 de septiembre de 2019

Truncar archivos de la forma adecuada en Linux

Muchas veces uno tiene la necesidad de reiniciar un archivo de  log(de borrarlo por dentro) durante sus tareas en Linux,

de forma habitual lo que yo hacia era enviar un echo vacío al archivo

echo "" > archivo_truncado

Sin embargo en este tutorial, me encuentro con el comando truncate.

La ventaja de usar truncate es que se puede especificar el tamaño al cual queremos dejar nuestro archivo, se usa el modificador -s

Ej:

truncate -s 0 /var/log/nginx/access.log

También se puede hacer limpieza de múltiples archivos.

 truncate -s 0 /var/log/**/*.log
 
 
Un saludo.

viernes, 16 de agosto de 2019

¿Cómo revisar logs de actualización cuando este proceso aparece ocupado?

Uno de los problemas que quizá queremos evitar con los sistemas Linux está relacionado con  conocer a ciencia cierta si los programas son actualizados o que evita su actualización a su última versión cuando lanzamos el apt-get.    Revisando, un breve comando para actualizar, me encuentro con el molesto mensaje:



El proceso unnatended Upgrades hace la tarea, sin embargo para conocer  como va el desarrollo de la tarea mientras se está ejecutando, podemos hacer lo siguiente:







Con tail -f podemos revisar como va el proceso  general de unattended upgrades a través de unattended-upgrades.log, así como ver el avance de instalación de  los pkg a través del log unattended-upgrades-dpkg.log.

Con esto, ya estaremos seguros de que es lo que hace el sistema Linux, mientras intentamos lanzar actualizaciones que se encuentran ocupadas.