Script "7 días registra tar y luego elimina los registros de 7 días y excluye el archivo tar después de los próximos 7 días"

Script "7 días registra tar y luego elimina los registros de 7 días y excluye el archivo tar después de los próximos 7 días"

Estoy intentando crear un script de modo que pueda tar.gz todo el registro anterior de cada 7 días y excluir el archivo tar en la próxima ejecución.

¿Está bien el guión o debería hacer un cambio?

find /home/bankex/bankex/glassfish/domains/bankex/logs/ -mtime -7 -print0 | xargs tar -czvf /home/bankex/bankex/glassfish/domains/bankex/logs/oldlogs_$(date +"%Y%m%d").tar.gz --exclude=/home/bankex/bankex/glassfish/domains/bankex/logs/*.tar.gz --null
find /home/bankex/bankex/glassfish/domains/bankex/logs/server.log* -mtime -7 -delete

Respuesta1

Prueba esto,

 find /home/bankex/bankex/glassfish/domains/bankex/logs/ -maxdepth 1 -mtime -7 -type f ! -name "*.tar.gz" |  xargs tar -czvf /home/bankex/bankex/glassfish/domains/bankex/logs/oldlogs_$(date +"%Y%m%d").tar.gz --remove-files
  • maxdepthniveles de directorios
  • type fsolo archivos
  • ! -nameexcluye el archivo con patrón.tar.gz
  • --remove-fileseliminará los archivos que estén tarados

información relacionada