Rumah > Artikel > Operasi dan penyelenggaraan > Tutorial Contoh Linux Systemd Crontab: Cara Membersih Log Sistem Secara Berkala
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:
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.
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.
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.
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!