
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
maxdepth
niveles de directoriostype f
solo archivos! -name
excluye el archivo con patrón.tar.gz
--remove-files
eliminará los archivos que estén tarados