suchen
HeimDatenbankMySQL-Tutorial[Linux] 利用logrotate对MySQL日志进行轮转_MySQL

bitsCN.com

[Linux] 利用logrotate对MySQL日志进行轮转

 

日志轮转特别适用于具有固定文件名的日志文件,比如MySQL的出错日志、常规查询日志、慢查询日志等。Linux系统有一个非常好用的根据logratate可以实现自动轮转,本文介绍它的原理和用法。

默认情况下,logratate部署为每天运行的cron job,你可以在目录/etc/cron.daily里找到名为logratate的配置文件。那么它是在每天的上面时候运行的呢?打开文件/etc/crontab就知道了,下面是我机器上的情况:

[plain] 

SHELL=/bin/bash  

PATH=/sbin:/bin:/usr/sbin:/usr/bin  

MAILTO=root  

HOME=/  

  

# run-parts  

01 * * * * root run-parts /etc/cron.hourly  

02 4 * * * root run-parts /etc/cron.daily  

22 4 * * 0 root run-parts /etc/cron.weekly  

42 4 1 * * root run-parts /etc/cron.monthly  

从上面的配置我们可以知道,/etc/cron.daily是在每天凌晨4:02执行。也就是说,每天4:02分/etc/cron.daily/logratate将会自动执行,下面是它的内容:

[plain] 

#!/bin/sh  

  

/usr/sbin/logrotate /etc/logrotate.conf  

EXITVALUE=$?  

if [ $EXITVALUE != 0 ]; then  

    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"  

fi  

exit 0  

从上面我们可以知道,logratate默认的配置文件是/etc/logratate.conf,下面是它的内容:

[plain] 

EXITVALUE=$?  

if [ $EXITVALUE != 0 ]; then  

    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"  

fi  

exit 0  

[root@lx202 /etc/cron.daily ]# cat /etc/logrotate.conf  

# see "man logrotate" for details  

# rotate log files weekly  

weekly  

  

# keep 4 weeks worth of backlogs  

rotate 4  

  

# create new (empty) log files after rotating old ones  

create  

  

# uncomment this if you want your log files compressed  

#compress  

  

# RPM packages drop log rotation information into this directory  

include /etc/logrotate.d  

  

# no packages own wtmp -- we'll rotate them here  

/var/log/wtmp {  

    monthly  

    minsize 1M  

    create 0664 root utmp  

    rotate 1  

}  

  

/var/log/btmp {  

    missingok  

    monthly  

    minsize 1M  

    create 0600 root utmp  

    rotate 1  

}  

从上面我们可以知道,这个默认的配置文件将读取目录/etc/logrotate.d,所以我们只要把自己写的配置文件放到该目录下即可。

MySQL本省提供了一个rotate的参考配置文件,在support-files目录下,文件名为mysql-log-rotate,内容如下:

[plain] 

# This logname can be set in /etc/my.cnf  

# by setting the variable "err-log"  

# in the [safe_mysqld] section as follows:  

#  

# [safe_mysqld]  

# err-log=/opt/mysql/data/mysqld.log  

#  

# If the root user has a password you have to create a  

# /root/.my.cnf configuration file with the following  

# content:  

#  

# [mysqladmin]  

# password =  

# user= root  

#  

# where "" is the password.  

#  

# ATTENTION: This /root/.my.cnf should be readable ONLY  

# for root !  

  

/opt/mysql/data/mysqld.log {  

        # create 600 mysql mysql  

        notifempty  

        daily  

        rotate 3  

        missingok  

        compress  

    postrotate  

        # just if mysqld is really running  

        if test -x /opt/mysql/bin/mysqladmin && /  

           /opt/mysql/bin/mysqladmin ping &>/dev/null  

        then  

           /opt/mysql/bin/mysqladmin flush-logs  

        fi  

    endscript  

}  

logrotate常见选项:

选项 含义

compress 压缩日志文件的所有非当前版本

copy 复制当前的日志文件,忽略create参数

copytruncate 复制当前的日志文件,并置空当前文件

daily 每天轮日志文件i

dateext 轮换的日志后缀为-YYYYMMDD格式

delaycompress 压缩除了当前和最近之外的所有其他版本

missingok 如果日志不存在,不会报错

notifempty 如果日志为空,则不轮换

rotate n 在轮换方案中包含n个版本的日志

size=logsize 如果日志文件大于logsize才轮换

我们只要根据自己的需要,修改相应配置即可,下面是一个例子:

1)创建MySQL root密码文件

vi /root/.my.cnf

[plain] 

[mysqladmin]  

password = ***  

user= root  

chmod 600 /root/.my.cnf

2)把mysql-log-rotate拷贝至/etc/logrotate.d目录下,修改其内容为:

[plain] 

/data/mysql/log/slow.log  

/data/mysql/log/alert.log {  

        create 600 mysql mysql  

        notifempty  

        daily  

        rotate 7  

        missingok  

        # compress  

    postrotate  

        # just if mysqld is really running  

        if test -x /opt/mysql/bin/mysqladmin && /  

           /opt/mysql/bin/mysqladmin ping &>/dev/null  

        then  

           /opt/mysql/bin/mysqladmin flush-logs  

        fi  

    endscript  

}  

3)执行以下命令测试

[plain] 

/usr/sbin/logrotate -f /etc/logrotate.d/mysql-log-rotate  

 

bitsCN.com
Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
MySQLs Rolle: Datenbanken in WebanwendungenMySQLs Rolle: Datenbanken in WebanwendungenApr 17, 2025 am 12:23 AM

Die Hauptaufgabe von MySQL in Webanwendungen besteht darin, Daten zu speichern und zu verwalten. 1.Mysql verarbeitet effizient Benutzerinformationen, Produktkataloge, Transaktionsunterlagen und andere Daten. 2. Durch die SQL -Abfrage können Entwickler Informationen aus der Datenbank extrahieren, um dynamische Inhalte zu generieren. 3.Mysql arbeitet basierend auf dem Client-Server-Modell, um eine akzeptable Abfragegeschwindigkeit sicherzustellen.

MySQL: Erstellen Sie Ihre erste DatenbankMySQL: Erstellen Sie Ihre erste DatenbankApr 17, 2025 am 12:22 AM

Zu den Schritten zum Erstellen einer MySQL -Datenbank gehören: 1. Erstellen einer Datenbank und Tabelle, 2. Daten einfügen, und 3. Durchführen von Abfragen. Verwenden Sie zunächst die Anweisungen für erstellte und creatEtable, um die Datenbank und Tabelle zu erstellen, und verwenden Sie dann die Anweisung InsertInto, um die Daten einzulegen, und verwenden Sie schließlich die Auswahlanweisung, um die Daten abzufragen.

MySQL: Ein anfängerfreundlicher Ansatz zur DatenspeicherungMySQL: Ein anfängerfreundlicher Ansatz zur DatenspeicherungApr 17, 2025 am 12:21 AM

MySQL ist für Anfänger geeignet, da es einfach zu bedienen und leistungsfähig ist. 1.Mysql ist eine relationale Datenbank und verwendet SQL für CRUD -Operationen. 2. Es ist einfach zu installieren und erfordert, dass das Stammbenutzerkennwort konfiguriert wird. 3.. Verwenden Sie Einfügen, Aktualisieren, Löschen und Wählen Sie, um Datenvorgänge auszuführen. 4. OrderBy, wo und Join kann für komplexe Abfragen verwendet werden. 5. Debugging erfordert die Überprüfung der Syntax und verwenden Sie Erklärungen zur Analyse der Abfrage. 6. Die Optimierungsvorschläge umfassen die Verwendung von Indizes, die Auswahl des richtigen Datentyps und der guten Programmiergewohnheiten.

Ist MySQL Anfänger-freundlich? Bewertung der LernkurveIst MySQL Anfänger-freundlich? Bewertung der LernkurveApr 17, 2025 am 12:19 AM

MySQL ist für Anfänger geeignet, weil: 1) Einfach zu installieren und konfigurieren, 2) Rich Learning Resources, 3) Intuitive SQL -Syntax, 4) leistungsstarke Toolunterstützung. Anfänger müssen jedoch Herausforderungen wie Datenbankdesign, Abfrageoptimierung, Sicherheitsmanagement und Datensicherung überwinden.

Ist SQL eine Programmiersprache? Klärung der TerminologieIst SQL eine Programmiersprache? Klärung der TerminologieApr 17, 2025 am 12:17 AM

Ja, sqlisaprogrammingLuagespezialisierteForDatamanagement.1) Es ist dieklarativ, fokussierte Waagewhattoachieveratherthanhow.2)

Erklären Sie die Säureeigenschaften (Atomizität, Konsistenz, Isolation, Haltbarkeit).Erklären Sie die Säureeigenschaften (Atomizität, Konsistenz, Isolation, Haltbarkeit).Apr 16, 2025 am 12:20 AM

Säureattribute umfassen Atomizität, Konsistenz, Isolation und Haltbarkeit und sind der Eckpfeiler des Datenbankdesigns. 1. Atomizität stellt sicher, dass die Transaktion entweder vollständig erfolgreich oder vollständig gescheitert ist. 2. Konsistenz stellt sicher, dass die Datenbank vor und nach einer Transaktion konsistent bleibt. 3. Isolation stellt sicher, dass sich Transaktionen nicht stören. 4. Persistenz stellt sicher, dass Daten nach der Transaktionsuntersuchung dauerhaft gespeichert werden.

MySQL: Datenbankverwaltungssystem vs. ProgrammierspracheMySQL: Datenbankverwaltungssystem vs. ProgrammierspracheApr 16, 2025 am 12:19 AM

MySQL ist nicht nur ein Datenbankverwaltungssystem (DBMS), sondern auch eng mit Programmiersprachen zusammen. 1) Als DBMS wird MySQL verwendet, um Daten zu speichern, zu organisieren und abzurufen und Indizes zu optimieren, können die Abfrageleistung verbessern. 2) Kombinieren Sie SQL mit Programmiersprachen, eingebettet in Python, und unter Verwendung von ORM -Tools wie SQLalchemy kann die Operationen vereinfachen. 3) Die Leistungsoptimierung umfasst Indexierung, Abfrage, Caching, Bibliothek und Tabellenabteilung und Transaktionsmanagement.

MySQL: Verwalten von Daten mit SQL -BefehlenMySQL: Verwalten von Daten mit SQL -BefehlenApr 16, 2025 am 12:19 AM

MySQL verwendet SQL -Befehle, um Daten zu verwalten. 1. Grundlegende Befehle umfassen Auswahl, Einfügen, Aktualisieren und Löschen. 2. Die erweiterte Verwendung umfasst die Funktionen, Unterabfragen und Aggregate. 3. Häufige Fehler sind Syntax-, Logik- und Leistungsprobleme. 4. Die Optimierungstipps umfassen die Verwendung von Indizes, die Vermeidung von Auswahl* und die Verwendung von Limit.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools