
我編寫了一個ps -ef
每 5 分鐘運行一次的腳本,並將輸出附加到一個檔案中。我想在當前檔案大小超過 200MB 時建立一個新檔案。有人可以幫我解決這個問題嗎?
答案1
在附加文件之前,您可以將類似的內容新增至腳本。
FILE="your-file"
if test $(( $(stat -c"%s" "$FILE") )) -ge "$(( 200*1024*1024 ))"; then
mv "$FILE" "$FILE-$(date +"%FT%T")"
fi
答案2
查看該logrotate
程式。首先,建立一個配置文件,例如/home/john/logrotate/ps.conf
,內容如下:(假設您將輸出轉儲ps
到/home/john/logrotate/log/ps.log
)
/home/john/logrotate/log/ps.log {
size = 200MB
missingok
notifempty
}
然後你可以建立一個crontab來運作/usr/bin/logrotate /home/john/logrotate/ps.conf
。看男人以獲得更多選項,例如壓縮。