test.sh
#!/bin/bash
echo "Hello World"
test2.sh
#!/bin/bash
while true
do
sh test.sh >> /script_logs/test.log &
done
Quiero implementar logrotate para controlar el tamaño del archivo de registro, entonces, ¿cómo implementar el logrotate, si la situación es como la anterior?
cp
ymv
, ¿puedo eliminar el archivo de registro, entonces será un nuevo archivo de registro con el mismo nombre? (Mi requisito es, si el archivo de registro alcanza cierto límite, quiero eliminar ese archivo de registro y luego crear un nuevo archivo )>>
para agregar al archivo de registro,>
lo sobrescribirá una y otra vez.>
, obtengotail: test.log: file truncated Hello World!
... Si lo uso>>
, recibo el mensaje de registro correcto, pero el tamaño del archivo está aumentando. Sin condición comprobando la condición ... ;-(¿
savelog
Qué hay de usar ?Está disponible en Debian y RH y prácticamente en cualquier otra distribución de Linux que conozco. Es un script de shell / bin / sh, por lo que también debería ejecutarse en cualquier otro Unix.
por ejemplo, antes de escribir cualquier cosa para
test.log
ejecutarsavelog -n -c 7 test.log
. Esto mantendrá las 7 versiones no vacías más recientes de test.log. Por defecto, comprimirá los registros rotados (pero eso se puede desactivar con-l
).Si lo necesita, puede verificar el tamaño
test.log
y solosavelog
si supera un cierto tamaño.fuente
/usr/bin/savelog
script de shell en sources.debian.net/src/debianutils/4.7savelog
ninguno de mis cuadros RHEL / CentOS 5/6, así que lo descargué ad hoc y parece funcionar bien para mis necesidades.savelog
es que cambia el nombre del archivo pero luego toma mucho tiempo descomprimir los viejos antes de terminar. Mientras tanto, el registro .0 ya recibe entradas para los próximos días. Idealmente, el tiempo entre la rotación del registro y la señalización del proceso para volver a abrir el registro debe ser mínimo. Desactivosavelog
la función de compresión debido a esto.Escribí un logrotee este fin de semana. Probablemente no lo haría si hubiera leído la excelente respuesta de
multilog
@ JdeBP .Me centré en que fuera ligero y capaz de bzip2 sus fragmentos de salida como:
Sin embargo, todavía hay mucho por hacer y probar.
fuente
Como todavía no puedo agregar comentarios a la respuesta aceptada , una sugerencia de BusyBox , donde
du
no tiene una-b
bandera:fuente