shell腳本(保留最近N天的備份)

#!/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天的。
相關文章
相關標籤/搜索