오래된 로그 파일을 단일 zip-linux로 압축

오래된 로그 파일을 단일 zip-linux로 압축

/home/testuser/log하루 전의 로그 파일이 포함된 폴더가 있습니다 *.log. 하루가 지난 모든 로그 파일을 단일 zip(gzip 또는 tar.gz)으로 압축하고 오래된 파일을 삭제하고 싶습니다.

파이프 찾기 및 tar 명령을 시도했지만 성공하지 못했습니다.

답변1

하루가 지난 로그의 tar.gz 파일 만들기

find /home/testuser/log/ -mtime +1 | xargs  tar -czvPf  /opt/older_log_$(date +%F).tar.gz

오래된 파일 삭제 [참고:- 아래 찾기 결과가 정확하면 echo를 삭제한 후 이 파일을 삭제합니다.]

find /home/testuser/ -mtime +1 | xargs  -n1 echo rm

답변2

sr_의 의견을 확장하면 logrotate를 사용하여 야간 SQL 덤프를 관리하고 있습니다. 나는 다음과 같은 구성을 가지고 있습니다 /etc/logrotate.d/mydbdump:

/var/backups/dump.sql {
        daily
        rotate 7
        missingok
        create 640 root root
        compress
}

기본적으로 파일을 가져와서 /var/backups/dump.sql(로그 파일 이름을 지정할 수 있음) 압축한 후 이름 을 dump.sql.1.gz.dump.sql.1.gzdump.sql.2.gz

logrotate일반적으로 자체적으로 호출되므로 실행 시기를 제어하려면 디렉터리를 cron확인하세요 ./etc/cron*

관련 정보