"7일 동안 로그를 tar한 후 7일 동안의 로그를 삭제하고 다음 7일 후에 tar 파일을 제외합니다" 스크립트

"7일 동안 로그를 tar한 후 7일 동안의 로그를 삭제하고 다음 7일 후에 tar 파일을 제외합니다" 스크립트

7일마다 모든 이전 로그를 tar.gz하고 다음에 실행될 때 tar 파일을 제외할 수 있도록 스크립트를 생성하려고 합니다.

스크립트가 괜찮은가요? 아니면 변경해야 하나요?

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

답변1

이 시도,

 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디렉토리 수준
  • type f파일만
  • ! -name패턴이 있는 파일 제외.tar.gz
  • --remove-filesTared 파일이 삭제됩니다

관련 정보