Fail log dalam sistem Linux ialah sumber penting untuk merakam operasi sistem dan menyelesaikan masalah Walau bagaimanapun, seiring dengan berlalunya masa, fail log akan terus berkembang, menduduki sejumlah besar ruang cakera, dan tidak kondusif untuk melihat dan menganalisis log. Untuk menyelesaikan masalah ini, kami boleh menggunakan alat logrotate untuk memutar, memampatkan, memadam dan menghantar e-mel secara automatik ke fail log untuk mencapai pengurusan fail log yang berkesan. Artikel ini akan memperkenalkan prinsip asas, fail konfigurasi dan pilihan biasa alat logrotate, serta cara mengkonfigurasi strategi logrotate untuk aplikasi yang berbeza.
Cara logrotate berfungsi
Secara lalai, arahan logrotate dijalankan sekali sehari sebagai tugas cron yang diletakkan dalam /etc/cron.daily Ia akan membantu anda menetapkan dasar di mana fail log yang melebihi masa atau saiz tertentu diputar.
Perintah:
/usr/sbin/logrotate
Fail konfigurasi: /etc/logrotate.conf, ini ialah fail konfigurasi utama logrotate. logrotate juga menyimpan konfigurasi khusus perkhidmatan dalam /etc/logrotate.d/. Pastikan baris di bawah disertakan dalam /etc/logrotate.conf untuk membaca konfigurasi log khusus perkhidmatan.
include /etc/logrotate.d`
sejarah logrotate: /var/lib/logrotate.status
Pilihan logrotate penting:
compress --> 压缩日志文件的所有非当前版本 daily,weekly,monthly --> 按指定计划轮换日志文件 delaycompress --> 压缩所有版本,除了当前和下一个最近的 endscript --> 标记 prerotate 或 postrotate 脚本的结束 errors "emailid" --> 给指定邮箱发送错误通知 missingok --> 如果日志文件丢失,不要显示错误 notifempty --> 如果日志文件为空,则不轮换日志文件 olddir "dir" --> 指定日志文件的旧版本放在 “dir” 中 postrotate --> 引入一个在日志被轮换后执行的脚本 prerotate --> 引入一个在日志被轮换前执行的脚本 rotate 'n' --> 在轮换方案中包含日志的 n 个版本 sharedscripts --> 对于整个日志组只运行一次脚本 size='logsize' --> 在日志大小大于 logsize(例如 100K,4M)时轮换
Tatarajah
Mari kita konfigurasi logrotate untuk fail log sampel kita sendiri /tmp/sample_output.log.
Langkah 1: Tambahkan baris berikut dalam /etc/logrotate.conf.
/tmp/sample_output.log { size 1k create 700 root root rotate 4 compress }
Dalam fail konfigurasi di atas:
size 1k - logrotate 仅在文件大小等于(或大于)此大小时运行。 create - 轮换原始文件并创建具有指定权限、用户和组的新文件。 rotate - 限制日志文件轮转的数量。因此,这将只保留最近的 4 个轮转的日志文件。 compress - 这将压缩文件。
Langkah 2: Biasanya, anda perlu menunggu sehari sehingga logrotate dilaksanakan oleh /etc/cron.daily. Jika tidak, anda boleh menjalankannya dari baris arahan dengan:
/usr/sbin/logrotate /etc/logrotate.conf
Output sebelum melaksanakan arahan logrotate:
[root@rhel1 tmp]# ls -l /tmp/ total 28 -rw-------. 1 root root 20000 Jan 1 05:23 sample_output.log
Output selepas melaksanakan logrotate:
[root@rhel1 tmp]# ls -l /tmp total 12 -rwx------. 1 root root 0 Jan 1 05:24 sample_output.log -rw-------. 1 root root 599 Jan 1 05:24 sample_output.log-20170101.gz [root@rhel1 tmp]#
Ini akan mengesahkan bahawa logrotate berjaya dilaksanakan.
Melalui pengenalan artikel ini, kami memahami fungsi dan penggunaan alat logrotate, dan cara menyesuaikan strategi logrotate mengikut keperluan yang berbeza. Alat logrotate boleh membantu kami menjimatkan ruang cakera, meningkatkan kebolehbacaan dan kebolehgunaan fail log, dan juga memudahkan kami membuat sandaran dan memantau fail log. Alat logrotate ialah alat pengurusan log yang sangat praktikal dalam sistem Linux dan patut dikuasai dan digunakan.
Atas ialah kandungan terperinci Cara menggunakan logrotate untuk mengurus fail log Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!