shell程式設計 指令碼實現定期清理檔案

2021-10-09 17:59:20 字數 792 閱讀 5913

#定期清理規定多少天前的日誌檔案:/opt/logs下面的檔案

#clear_log.sh

#!bin/bash

# 日誌目錄

log_dir=

$1# 超過多少天的日誌會被清理

old_days=

$2# 當前時間(秒)

time_now=

`date +"%s"

`# 期限

limit=

$((3600*24

*$old_days))

# 獲取所有檔案

files=

`ls $log_dir`

forfile

in$files

do time_chg=

`stat -c %y $log_dir/$file`

time_btn=

$(($time_now - $time_chg))

if[$time_btn -lt $limit];

then

echo

"$log_dir/$file"

fidone

#賦權chmod 700 /home/clear_log.sh

#執行sh clear_log.sh /opt/logs 7

#新增定時任務

crontab -e

0 0 * * * /home/clear_log.sh /opt/logs 7

#通過命令檢視任務資訊

crontab -l

ps:望多多支援,後續持續更新中。。。

shell指令碼案例 二 HDFS檔案定期清理

當前環境的hdfs的空間使用率,即將達到95 手動清理比較繁瑣,需要寫個指令碼定期清理下最早5天的日誌量。方法之一 定期檢查hdfs的空間佔用率,若超過95 則刪除最早5天的日誌檔案。設定使用率閾值 查詢當前使用率,若達到閾值,查詢出最早5天的檔案 將查詢到的檔案刪除 linux shell可以用f...

定時清理檔案shell指令碼

乙個測試機上部署多個應用,總是經常出現磁碟空間已滿,不能部署應用的情況,所以寫了個小指令碼,用於定時清理日誌,避免出現這種情況。1 如果是清理固定路徑下的檔案,可以直接用命令方式。命令方式 1 編寫命令 find logs name catalina.out log and mtime 7 測試方法...

定時清理檔案shell指令碼

乙個測試機上部署多個應用,總是經常出現磁碟空間已滿,不能部署應用的情況,所以寫了個小指令碼,用於定時清理日誌,避免出現這種情況。1 如果是清理固定路徑下的檔案,可以直接用命令方式。命令方式 1 編寫命令 find logs name catalina.out log and mtime 7 測試方法...