Linux 서버를 백업하기 위해 스크립트를 사용하고 있습니다. 다음 코드를 사용하여 시스템 이름을 지정합니다.
# Create archive filename.
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"
이전 백업을 모두 삭제하고 마지막 두 개는 그대로 두고 싶습니다. 어떻게 해야 합니까?
답변1
백업 스크립트가 전날 생성된 아카이브를 삭제하도록 할 수 있습니다.
# Create archive filename.
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"
# Do backup
#...
# Delete old backup (assuming GNU date)
deleteday=$( date -d '2 days ago' +'%A' )
rm -f "$hostname-$deleteday.tgz"
답변2
find ... -mtime +2 -exec rm {} \;
아니면 그런 것 :)