Estoy tratando de hacer una secuencia de comandos de respaldo a medida que los archivos de registro se hacen cada vez más grandes. Lo que tengo es hacer frente al archivo actual (por ejemplo, secure
archivo /var/log/
) y eliminar el contenido de ese archivo. Sin embargo, hay algunos archivos con el nombre como: secure.1
, secure.2
y todo esto me gusta contarlas, y si el número es más grande entonces 2
archivar todos ellos. No puedo encontrar el método para encontrar estos archivos o contarlos. Lo primero que se me ocurrió fue:
find /var/log/ -name *.1 | wc -l
y esto siempre se imprimirá 1
ya que hay un archivo secure.1
. ¿Cómo puedo contar como en for loop donde puedo especificar un rango de números como {1..5}
o similar? ¿Hay alguna manera de separar estos archivos y hacerlos como uno y hacer una copia de seguridad o eliminarlos o lo que sea ... o, en primer lugar, cómo puedo encontrar todos estos números que terminan en número?
logrotate
tu propósito.
find /var/log/ -name '*.1' ...