nginxでログローテーションを設定できません。 Windowsサービスラッパーを使用してWindowsマシンにnginxサービスをインストールしました。 nginx -s reopenを使ってログファイルを再オープンしようとしましたが、エラーが表示されます。ファイルのサイズに基づいてWindows用のnginxログをローテーションする方法
0
A
答えて
0
nginxのは、任意のWindowsまたは他のプラットフォーム上roloverログのモジュールを内蔵しておりません Nginx loggging tips
0
あなたはnginx.exe使用してnginxのを実行している場合は、あなたが実行している場合、あなたはnginxのログを再度開くことができ、以下のリンクをお試しくださいnginxのあなたがサービスを停止する必要がインストールされたサービスを使用して、Windowsマシン上で
REM script to rotates nginx logs from java/windows cmd prompt
REM rolloverNginxLogs.bat [maxFileSize in bytes] [retainCount]
REM e.g rolloverNginxLogs.bat 10000 5
@echo off
setlocal EnableDelayedExpansion
pushd C:\nginx\logs
set ERRORLEVEL=0
set maxFileSize=%1
set retainCount=%2
set errorLogFile=error.log
set accessLogFile=access.log
set rotateAccessLogFile=""
set rotateErrorLogFile=""
set rotateFile=""
REM set current time, replace " " with "0" for hours less than 10
set currentTime=%time:~0,2%%time:~3,2%%time:~6,2%
if %currentTime% LSS 100000 (set currentTime=%currentTime: =0%)
REM check if access.log file rotation required
for %%A in (%accessLogFile%) do (
echo.Size of "%%A" is %%~zA bytes
if /I %%~zA GTR %maxFileSize% (
set rotateAccessLogFile=true
set rotateFile=true
)
)
REM check if error.log file rotation required
for %%A in (%errorLogFile%) do (
echo.Size of "%%A" is %%~zA bytes
if /I %%~zA GTR %maxFileSize% (
set rotateErrorLogFile=true
set rotateFile=true
)
)
REM if required rotate logs otherwise exit
if "%rotateFile%" EQU "true" (
goto ROTATELOG
) else (
goto DONE
)
:ROTATELOG
REM check whether the service is running if running then stop service
for /F "tokens=3 delims=: " %%H in ('sc query "nginx" ^| findstr "STATE"') do (
if /I "%%H" EQU "RUNNING" (
net stop "nginx"
)
)
REM rotate error log
if "%rotateErrorLogFile%" EQU "true" (
ren error.log error-%DATE%-%currentTime%.log
for /f "skip=%retainCount% eol=: delims=" %%F in ('dir /b /o-d /a-d error*.log') do @del "%%F"
)
REM rotate access log
if "%rotateAccessLogFile%" EQU "true" (
ren access.log access-%DATE%-%currentTime%.log
for /f "skip=%retainCount% eol=: delims=" %%F in ('dir /b /o-d /a-d access*.log') do @del "%%F"
)
REM check if the service is not running, start service
for /F "tokens=3 delims=: " %%H in ('sc query "nginx" ^| findstr "STATE"') do (
if /I "%%H" NEQ "RUNNING" (
echo starting nginx service
net start "nginx"
)
)
:DONE
popd
exit %ERRORLEVEL%
をnginxのエラーログとアクセスログを回転させるためのバッチスクリプト以下
を使用し、その後、ログを回転させて、再度サービスを開始
関連する問題
- 1. Log4j 1.2.17 - サイズに基づいてログをローリングする方法
- 2. Apache Camelのサイズに基づいてファイルをルーティングする方法
- 3. nginxに基づいてアップグレードinsecur-requestを設定する方法
- 4. Delphi - サイズに基づいてファイルをソート
- 5. nginxで日付に基づいてリダイレクトする方法は?
- 6. Windowsでtomcatログをローテーションするには?最善の方法は何ですか?
- 7. iFrameのサイズに基づいてページコンテンツのサイズを変更する方法
- 8. 固定サイズに基づいてPL/SQLでファイルを分割する方法
- 9. clocのサフィックスに基づいてファイルを無視する方法..?
- 10. gulpの環境に基づいてファイルをコピーする方法
- 11. ログバック - サイズに基づいてファイルをロールオーバーする
- 12. logginateを使ったコンテナ化nginxログのローテーション
- 13. パラメータに基づいてUnixからWindowsにファイルをコピーする
- 14. ログサイズに基づいてLog Rotateが自動ローテーションされない
- 15. Lo4j config - mesasgeプレフィックスのタイプに基づいて異なるファイルにログする
- 16. 他のファイルの存在に基づいてファイルをコピーする(Windows)
- 17. 画面サイズに基づいてコンテンツを表示する方法の変更4
- 18. サイズのPHPに基づいて文字列をトリミングする方法
- 19. サイズに基づいて上位10のディレクトリを照会する方法は?
- 20. WSDLファイルに基づいてSOAPヘッダーネームスペースを構築する方法
- 21. パターンに基づいてtsvファイルをサブセット化する方法は?
- 22. angular2:別のJSONファイルのIDに基づいてJSONファイルをリクエストする方法
- 23. GridView DataTemplateをWindowsのサイズに基づいて変更/変更します
- 24. Pythonの日付でRotatingFileHandlerを使用してログをローテーションする
- 25. Rubyを使用してPDFファイルをローテーションする方法
- 26. Windows上のPerlに基づいて
- 27. JAVAのサイズに基づいて文字列を切り取る方法は?
- 28. 既存のファイル名に基づいてファイル名を変更する方法
- 29. サブディレクトリを含むファイルのサイズに基づいてunix findを実行する方法は?
- 30. テキストに基づいてUIButtonサイズを調整する最も簡単な方法
ありがとう!しかし、私はこのソリューションはcentOSのために動作すると思う、私はWindowsプラットフォーム上でnginxを設定しました。 –