#!/bin/bash ############################ #保留最近N天的備份 #2019年6月16日11:32:59 ############################ #需求 #文件備份格式爲date +%F/%H/%M #節假日不備份 #不管過幾個節假日,始終保留最新N天的備份 ##############模擬備份 mkdir $(pwd)/test touch $(pwd)/test/`date -d "1 day ago" +%F-%H-%M`.tar.gz touch $(pwd)/test/`date -d "2 day ago" +%F-%H-%M`.tar.gz touch $(pwd)/test/`date -d "3 day ago" +%F-%H-%M`.tar.gz ##############保留最新兩天的記錄 ls -t $(pwd)/test/* | awk 'NR>2' | xargs rm -rf #注:ls -t是按照時間排序,加路徑主要是爲了後面awk過濾出來帶路徑,好絕對路徑刪除。NR指的是行號。 # ls -t $(pwd)/test/* | awk '{ print NR}' 最新的文件確定排在前面,保留N天的就刪除大於N天的。