附加到文件的數據,當其值超過 200 MB 時,應建立新文件

附加到文件的數據,當其值超過 200 MB 時,應建立新文件

我編寫了一個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。看男人以獲得更多選項,例如壓縮。

相關內容