删除所有以前的备份,留下最后两个

删除所有以前的备份,留下最后两个

我正在使用脚本备份我的 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 {} \;

或者类似的:)

相关内容