Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Tutorial Contoh Linux Systemd Crontab: Cara Membersih Log Sistem Secara Berkala

Tutorial Contoh Linux Systemd Crontab: Cara Membersih Log Sistem Secara Berkala

王林
王林asal
2023-09-26 14:46:501335semak imbas

Linux Systemd Crontab实例教程:如何定时清理系统日志

Linux Systemd Crontab Contoh Tutorial: Cara Membersihkan Log Sistem Secara Berkala

1. Pengenalan

Dalam sistem Linux, fail log sistem adalah salah satu fail utama yang merekodkan status pengendalian sistem, ralat dan maklumat penting lain. Dari masa ke masa, fail log sistem boleh membesar dalam saiz dan mengambil banyak ruang cakera. Untuk mengekalkan operasi normal sistem, adalah perlu untuk membersihkan log sistem dengan kerap. Artikel ini akan memperkenalkan secara terperinci cara menggunakan Systemd Crontab untuk membersihkan log sistem dengan kerap dan memberikan contoh kod khusus.

2. Gunakan Systemd Crontab untuk melaksanakan skrip dengan kerap

Systemd Crontab ialah alat pengurusan perkhidmatan berdasarkan sistem Linux yang boleh digunakan untuk melaksanakan tugas dengan kerap. Berikut ialah langkah khusus untuk menggunakan Systemd Crontab untuk melaksanakan skrip dengan kerap:

  1. Buat skrip untuk membersihkan log

Pertama, kita perlu mencipta skrip untuk membersihkan log sistem. Ia boleh ditulis menggunakan bahasa skrip shell Berikut ialah skrip contoh untuk membersihkan log (clean_logs.sh):

#!/bin/bash

# 清理/var/log目录下的系统日志文件
find /var/log -type f -name "*.log" -exec rm -rf {} ;

# 重启系统日志服务
systemctl restart rsyslog

Skrip di atas menggunakan arahan cari untuk mencari semua fail log dalam direktori /var/log, dan menggunakan rm arahan untuk memadam fail ini. Akhir sekali, gunakan perintah systemctl untuk memulakan semula perkhidmatan rsyslog untuk memastikan bahawa fungsi log sistem adalah normal.

  1. Buat fail unit perkhidmatan Systemd

Seterusnya, kita perlu mencipta fail unit perkhidmatan Systemd untuk menentukan skrip yang akan dilaksanakan. Cipta fail bernama clean_logs.service dengan kandungan berikut:

[Unit]
Description=Clean system logs

[Service]
ExecStart=/path/to/clean_logs.sh

[Install]
WantedBy=default.target

Anda perlu menukar laluan ExecStart kepada laluan skrip sebenar.

  1. Buat fail konfigurasi Systemd Crontab

Buat fail konfigurasi Systemd Crontab bernama clean_logs.timer dalam direktori /etc/systemd/system/ dengan kandungan berikut:

[Unit]
Description=Run clean_logs.service every day

[Timer]
OnCalendar=daily
Persistent=true

[Install]
WantedBy=timers.target

Dalam fail konfigurasi di atas, OnCalendar menetapkan satu jadual tugasan Masa pelaksanaan ditetapkan untuk dilaksanakan sekali sehari. Tetapan tetap kepada benar bermakna walaupun sistem dimatikan, tugasan akan terus dilaksanakan apabila ia dimulakan seterusnya.

  1. Mulakan dan urus tugas berjadual

Selepas melengkapkan langkah di atas, anda boleh mengikut arahan berikut untuk memulakan dan mengurus tugasan berjadual:

Mulakan tugas berjadual: systemctl mula clean_logs.timer
Hentikan tugasan berjadual systemctl: systemct henti berjadual: pemasa
Mulakan Semula Tugasan Berjadual: systemctl mulakan semula clean_logs.timer
Lihat status tugas yang dijadualkan: status systemctl clean_logs.timer

3 Semak keputusan pelaksanaan tugas yang dijadualkan

Selepas pelaksanaan tugas yang dijadualkan selesai, kami. berharap untuk melihat hasil pelaksanaan tugas untuk mengesahkan sama ada log sistem Dibersihkan berjaya. Ia boleh dilihat dalam dua cara berikut:

Lihat log Systemd Crontab: journalctl -u clean_logs.timer
Lihat fail log sistem: tail -n 100 /var/log/syslog

Four

Menggunakan Systemd Crontab is mudah Bersihkan log sistem dengan kerap untuk mengelakkan ruang cakera daripada diduduki oleh fail log yang terlalu besar. Artikel ini memperkenalkan secara terperinci cara menggunakan Systemd Crontab untuk membersihkan log sistem dengan kerap melalui contoh kod tertentu. Saya harap artikel ini dapat membantu anda dan membolehkan anda mengurus fail log sistem Linux anda dengan lebih baik.

Atas ialah kandungan terperinci Tutorial Contoh Linux Systemd Crontab: Cara Membersih Log Sistem Secara Berkala. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn