nginx 清空日誌

愤怒的码农發表於2024-11-21

nginx預設的日誌在logs/access.log,並且是一直累加寫入,時間長了就會非常大,佔用過多的硬碟,如果強行刪除是很不友好的,需要重啟服務;

(1)、清空,進入到nginx 的logs資料夾下,執行命令

truncate -s 0 access.log

(2)關閉日誌(如果不需要日誌檔案就直接關閉,但是不建議不建議)

  access_log off;

(3)進行分割

透過shell指令碼+linux的定時任務進行的一個平滑切分

#!/bin/bash

log_path=/usr/local/nginx/logs/access.log

save_path=/usr/local/nginx/logs/bak/access_$(date +%Y%m%d -d 'yesterday').log

cp $log_path $save_path && echo > $log_path

設定定時任務

crontab -e

#輸入

0 0 * * * /usr/bin/sh cut_logs.sh #每天的00:00執行日誌切分

crontab -l #檢視定時任務是否新增成功

相關文章