나는 매일 파일과 데이터베이스를 백업하기 위해 매우 간단한 스크립트를 작성했습니다. 이것은 내 스크립트입니다.
mongodump --db DB
name=$( date +%F_%H_%M_%S )
tar zvcf /backup/$name-DB-db.tar.gz dump/
rm -rf dump
name=$( date +%F_%H_%M_%S )
tar zvcf /backup/$name-FILES-files.tar.gz /home/NAME/
tar.gz
매일 2개의 파일을 생성하고, 일주일 후에는 14개의 tar.gz 파일을 생성합니다 .
내가 원하는 것은 다음과 같은 출력을 가정하는 것입니다 ls -lh
.
2021-06-19_16_02_00-FILES-db.tar.gz
2021-06-19_17_02_00-FILES-db.tar.gz
2021-06-19_16_02_00-FILES-files.tar.gz
2021-06-19_17_02_00-FILES-files.tar.gz
2021-06-19_16_02_05-DB-db.tar.gz
2021-06-19_17_02_05-DB-db.tar.gz
2021-06-19_16_02_08-DB-files.tar.gz
2021-06-19_17_02_08-DB-files.tar.gz
내가 원하는 것은:
Check if more than file {*FILES-db.tar.gz} exists, then remove the old ones and keep the last one. Else, skip.
Check if more than file {*DB-db.tar.gz} exists, then remove the old ones and keep the last one. Else, skip.
결과 ls -lh
는 다음과 같아야 합니다.
2021-06-19_17_02_00-FILES-db.tar.gz
2021-06-19_17_02_00-FILES-files.tar.gz
2021-06-19_17_02_05-DB-db.tar.gz
2021-06-19_17_02_08-DB-files.tar.gz
Bash 스크립트에서 어떤 기능이나 명령을 사용해야 합니까?
이 기능은 백업이 완료된 후 bash 스크립트 마지막에 사용하는 것이 가장 좋다고 생각하는데, 더 좋은 방법이나 해결책이 있다면 듣고 싶습니다.
업데이트 1
/etc/logrotate.d/NAME-files
:
/backup/*NAME-files.tar.gz {
daily
missingok
rotate 1
notifempty
}