nginx日誌分割:windows和linux
1.nginx日誌默認情況下統統寫入到一個文件中,文件會變的越來越大.
2.單個的日誌文件非常不方便查看分析。
二、簡析日誌分割。
不論是windows還是linux,對日誌的分割都是一條思路。即:
1.對現有日誌文件進行重命名。
2.生成新的日誌文件。
3.定制腳本,定時執行.
三、日誌分割實操。
windows系統:
1.logcut.bat
#定義時間(年月日)
for /f "tokens=1 delims=/ " %%j in ("%date%") do set d1=%%j
for /f "tokens=2 delims=/ " %%j in ("%date%") do set d2=%%j
for /f "tokens=3 delims=/ " %%j in ("%date%") do set d3=%%j
#創建目錄便於查看
set backupdir=C:\nginx\logs\%d1%\%d2%\%d3%
mkdir %backupdir%
#移動原有日誌,相當於重命名
move F:\nginx\access.log %backupdir%
#重開日誌,生成新的日誌文件
F:\nginx\nginx.exe -s reopen
2.通過windows的計劃任務來實現定時分割日誌(本人使用的windows2012 r2)
linux系統:
1.logcut.sh
#!/bin/sh
#定義日誌格式
Dateformat=`date +%Y%m%d`
#定義日誌目錄
Basedir="/application/nginx"
Nginxlogdir="$Basedir/logs"
#定義分割的日誌
Logname="access"
#判斷是否存在日誌文件
[ -d $Nginxlogdir ] && cd $Nginxlogdir||exit 1
[ -f ${Logname}.log ]||exit 1
#對原有的日誌文件進行修改
/bin/mv $Logname.log ${Dateformat}_$Logname.log
#重新生成nginx日誌
$Basedir/sbin/nginx -s reload
2.定時任務,實現功能。
crontab -l
#logs cut
00 00 * * * sh /server/scripts/logcut.sh &>/dev/null
nginx日誌分割:windows和linux