2015-12-19 182 views
-4

刪除3天的日誌,我在UNIX環境中很努力,所以我有一個由我的應用程序在以下位置是shell腳本從目錄

/opt/app/glac/current/servers/ops/log 

日誌目錄中創建的日誌有不同種類的日誌(也就是具有.log的extesion文件)已經被創建,你能否建議我想寫一個shell腳本,這樣腳本會詢問用戶的天數,如果用戶輸入價值3所以在這種情況下,它會刪除所有3天的日誌,可以說如果日期是19 dec 2015,並且如果用戶輸入值爲3,那麼它將刪除包括16日誌的日誌也只會保留th的17,18 and 19 decË只記錄

請指教會是怎樣的shell腳本來實現這一

+1

日誌旋轉,壓縮和除去所使用的「logrotate的」封裝通常處理。非常方便,安全且易於安裝。它應該安裝在典型的unixoid系統上。 – arkascha

回答

1

可以在find命令中使用mtime

#!/bin/bash echo "Enter no of days :" read ARCHIVE_DAYS find /opt/app/glac/current/servers/ops/logs -name '*.log' -mtime +${ARCHIVE_DAYS} -type f -exec rm -f {} \;