shell指令碼(保留最近N天的備份)

2021-09-27 04:55:34 字數 678 閱讀 5994

#!/bin/bash

############################

#保留最近n天的備份

#2023年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 '' 最新的檔案肯定排在前面,保留n天的就刪除大於n天的。

關於保留最近三天檔案的shell指令碼

bin sh day bin date y m d count usr bin find home ledscr backup mtime 1 wc l usr bin find home ledscr backup mtime 1 delete echo day count 注 1 find mt...

18專案實戰 保留最近N天的備份檔案

需求1 定期刪除 data目錄下修改時間的大於7天的檔案 需求2 定期清理 data yy mm dd.tar.gz 該目錄僅工作日周一至周五自動生成檔案yy mm dd.tar.gz 希望只保留最近2天的備份檔案 無論過幾個節假日 data仍會有前兩個工作日的備份檔案1.定期刪除 data目錄下修...

shell指令碼刪除7天前的日誌

1.刪除檔案命令 find 對應目錄 mtime 天數 name 檔名 exec rm rf 例項 find opt soft log mtime 7 name log exec rm rf 說明 將 opt soft log 目錄下所有7天前帶 log 的檔案刪除 2.建立shell touch ...