Heim >Backend-Entwicklung >PHP-Tutorial >[nginx] Protokollskript jeden Tag automatisch ausschneiden
Wenn Nginx über eine große Menge an täglichen Protokollen verfügt, ist es am besten, diese jeden Tag automatisch auszuschneiden und zu speichern, damit zukünftige Abfragen und Analysen erleichtert werden können
<code><span>#!/bin/sh</span><span>###################</span><span>#filename: nginx_log_rotate.sh</span><span>#vsersion: 0.1v</span><span>#1 0 * * * /bin/sh /home/project/monitor/nginx_log_rotate.sh >/dev/null 2>&1</span><span>###################</span>logs_path=<span>"/usr/local/openresty/nginx/logs"</span> old_logs_path=<span>${logs_path}</span>/old nginx_pid=`cat /usr/local/openresty/nginx/logs/nginx.pid` time_stamp=`date <span>-d</span><span>"yesterday"</span> +<span>"%Y-%m-%d"</span>` mkdir -p <span>${old_logs_path}</span><span>#grep some mode file</span><span>for</span> file <span>in</span> `ls <span>$logs_path</span> | grep log$ | grep -v <span>'^20'</span>` <span>do</span><span>if</span> [ ! <span>-f</span><span>${old_logs_path}</span>/<span>${time_stamp}</span>_<span>$file</span> ] <span>then</span> dst_file=<span>"<span>${old_logs_path}</span>/<span>${time_stamp}</span>_<span>$file</span>"</span><span>else</span> dst_file=<span>"<span>${old_logs_path}</span>/<span>${time_stamp}</span>_<span>$file</span>.$$"</span><span>fi</span> mv <span>$logs_path</span>/<span>$file</span><span>$dst_file</span><span>#gzip -f $dst_file # do something with access.log.0</span><span>done</span>kill -USR1 <span>$nginx_pid</span></code>
Copyright-Erklärung: Dieser Artikel ist ein Originalartikel von orangleliu (http://blog.csdn.net/orangleliu/). Bitte geben Sie beim Nachdruck den Artikel an.
Das Obige stellt das tägliche automatische Protokollschneideskript von [nginx] vor, einschließlich der relevanten Inhalte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.