Joh*_*ler 10 nginx logging logrotate
我在同一台服务器上通过 NginX 为几个不同的域提供服务,它们每个都记录到自己的文件中。我需要设置一个脚本来旋转,并压缩这些文件并将其添加到 cron。
我知道我必须做一些事情才能让 NginX 在移动旧的日志文件后打开一个新的日志文件。有人可以给我安全轮换 nginx 日志文件的程序吗?我猜我需要使用 logrotate,我该如何配置它?
系统:
Jör*_*tag 18
它已成为一个排序的Unix的守护进程之间的非正式半的标准,他们冲洗和/或轮换的日志文件,当你给他们一个挂起信号(SIGHUP
)。Nginx 并没有完全遵循此约定,但它以USR1
相同的方式响应信号,如 Nginx 网站上标题为Log Rotation 的文档所述。
所以,你可以尝试类似的东西
kill -s USR1 `pidof nginx`
Run Code Online (Sandbox Code Playgroud)
小智 11
logrotating nginx 日志:
# nginx SIGUSR1: Re-opens the log files.
/opt/nginx/logs/access.log {
missingok
notifempty
delaycompress
sharedscripts
postrotate
test ! -f /opt/nginx/logs/nginx.pid || kill -USR1 `cat /opt/nginx/logs/nginx.pid`
endscript
}
/opt/nginx/logs/error.log {
missingok
notifempty
delaycompress
sharedscripts
postrotate
test ! -f /opt/nginx/logs/nginx.pid || kill -USR1 `cat /opt/nginx/logs/nginx.pid`
endscript
}
Run Code Online (Sandbox Code Playgroud)
logrotating rails 生产日志:
/home/app_user/apps/railsapp/log/production.log {
missingok
notifempty
delaycompress
sharedscripts
postrotate
test ! -f /opt/nginx/logs/nginx.pid || kill -USR1 `cat /opt/nginx/logs/nginx.pid`
endscript
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9640 次 |
最近记录: |