[需求1]:定期刪除/data目錄下修改時間的大於7天的檔案
[需求2]:定期清理/data/yy-mm-dd.tar.gz
該目錄僅工作日周一至周五自動生成檔案yy-mm-dd.tar.gz
希望只保留最近2天的備份檔案
無論過幾個節假日/data仍會有前兩個工作日的備份檔案
1.定期刪除/data目錄下修改時間的大於7天的檔案
==> `使用find找到修改時間大於7天的,通過xargs/exec執行刪除`
2.定期清理/data/yy-mm-dd.tar.gz
該目錄僅工作日周一至周五自動生成檔案yy-mm-dd.tar.gz
希望只保留最近2天的備份檔案
無論過幾個節假日/data仍會有前兩個工作日的備份檔案
==> `核心就是保留最新的兩個備份檔案,ls -t可以通過修改時間進行排序,最新的放在最前面,通過awk進行分割,使用xargs/exec執行刪除第3個開始的檔案`
指令碼內容
[root@hadoop04 ~]# vim /tmp/delete_backup.sh
#!/usr/bin/env bash
# 定義備份目錄
backup_dir=/data
# 刪除超過7天的檔案
find "$" -mtime +7 | xargs rm -f
指令碼執行
# 新增執行許可權
[root@hadoop04 ~]# chmod +x /tmp/delete_backup.sh
# 設定不允許對指令碼檔案進行任何的修改,檔案不能刪除,不能更改,不能移動
[root@hadoop04 ~]# chattr +i /tmp/delete_backup.sh
# 根據實際情況建立定時任務
[root@hadoop04 ~]# crontab -e
* * * * * /tmp/delete_backup.sh
指令碼內容
[root@hadoop04 ~]# vim /tmp/delete_backup_file.sh
#!/usr/bin/env bash
# 定義備份目錄
backup_dir=/data
# 保留最新的兩個備份檔案
ls -t $/*.tar.gz | awk 'nr>2' | xargs rm -rvf
# ls -t $/*.tar.gz | awk 'nr>2' | bash
指令碼執行
[root@hadoop04 ~]# chmod +x /tmp/delete_backup_file.sh
[root@hadoop04 ~]# chattr +i /tmp/delete_backup_file.sh
# 根據實際情況建立定時任務
[root@hadoop04 ~]# crontab -e
* * * * * /tmp/delete_backup.sh
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.g...
07 專案實戰
top 案例1 編寫一鍵部署軟體指令碼 案例2 啟動指令碼 案例3 編寫監控指令碼 案例4 編寫安全檢測指令碼 案例5 編寫進度顯示指令碼 本案例要求編寫指令碼實現一鍵部署nginx軟體 web伺服器 實現此案例需要按照如下步驟進行。步驟一 準備工作 1 判斷yum源是否可用 通過yum repol...
軟體RAID5專案實戰!!!
專案背景 在我們的實際生產環境中,我們常常對磁碟的容量有較大的要求,但是一塊特別大的磁碟,很貴,我們伺服器上一般的磁碟都不會特別大,這個時候我們就可以把多個磁碟以某種方式組合到一起使用,同時我們要求可以進行資料備份和冗餘。試驗環境 虛擬機器vmware workstation 12 player 伺...