Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Kaedah dan langkah untuk melaksanakan putaran log menggunakan Systemd dan Crontab dalam Linux

Kaedah dan langkah untuk melaksanakan putaran log menggunakan Systemd dan Crontab dalam Linux

WBOY
WBOYasal
2023-09-26 19:04:411743semak imbas

Kaedah dan langkah untuk melaksanakan putaran log menggunakan Systemd dan Crontab dalam Linux

Tajuk: Kaedah dan langkah untuk melaksanakan putaran log menggunakan Systemd dan Crontab dalam Linux

Teks:

#🎜🎜 Dalam sistem Linux, fail log merekodkan peristiwa penting dan maklumat ralat yang berlaku dalam sistem Apabila masa berlalu, fail log akan menjadi lebih besar dan lebih besar, bukan sahaja mengambil ruang cakera keras, tetapi juga menyukarkan untuk melihat log. Untuk menyelesaikan masalah ini, kami boleh menggunakan Systemd dan Crontab untuk melaksanakan putaran log, iaitu, kerap membuat sandaran dan mengarkibkan fail log. Artikel ini akan memperkenalkan cara menggunakan Systemd dan Crontab untuk melaksanakan kaedah dan langkah putaran log serta memberikan contoh kod khusus.

1. Gunakan Systemd untuk melaksanakan putaran log

    Buat fail konfigurasi putaran log
  1. Pertama, kita perlu mencipta fail konfigurasi putaran log Systemd . Masukkan arahan berikut dalam terminal untuk mencipta fail konfigurasi bernama "myapp-logrotate.conf":
  2. sudo nano /etc/systemd/journald.conf.d/myapp-logrotate.conf
Tambah kandungan berikut dalam fail konfigurasi:

[Journal]
Storage=persistent
MaxFileSec=1month
#🎜 🎜 #Antaranya, parameter "Storan" menentukan kaedah penyimpanan fail log, dan "berterusan" bermaksud mengekalkan fail log pada cakera. Parameter "MaxFileSec" menentukan masa pengekalan fail log, yang ditetapkan kepada 1 bulan di sini.

Simpan dan keluar dari profil.

Mulakan semula perkhidmatan log Systemd
    Masukkan arahan berikut dalam terminal untuk memulakan semula perkhidmatan log Systemd:

  1. sudo systemctl restart systemd-journald.service
    #🎜🎜 akan#Sekarang, Systemd akan ikut tetapan konfigurasi dalam fail untuk memutar fail log.
2. Gunakan Crontab untuk melaksanakan putaran log

Cipta skrip putaran log

Seterusnya, kita perlu mencipta skrip putaran log Crontab. Masukkan arahan berikut dalam terminal untuk mencipta fail skrip bernama "logrotate-script.sh":
  1. sudo nano /usr/local/bin/logrotate-script.sh

    Tampalkan kod berikut ke dalam fail skrip:
  2. #!/bin/bash
    
    # 日志文件路径
    logfile="/var/log/myapp/myapp.log"
    
    # 归档目录路径
    archive_dir="/var/log/myapp/archive"
    
    # 归档文件名
    archive_file="myapp_$(date +'%Y%m%d%H%M%S').log"
    
    # 压缩归档文件
    tar -czvf $archive_dir/$archive_file $logfile
    
    # 清空日志文件
    > $logfile
    #🎜 🎜#Simpan dan keluar dari fail skrip.

Berikan kebenaran pelaksanaan skrip

Masukkan arahan berikut dalam terminal untuk memberikan kebenaran pelaksanaan skrip:

    sudo chmod +x /usr/local/bin/logrotate-script.sh
    #🎜🎜🎜🎜##🎜 Cipta tugas Crontab
  1. Akhir sekali, kita perlu mencipta tugasan Crontab untuk melaksanakan skrip putaran log dengan kerap. Masukkan arahan berikut dalam terminal untuk mengedit Crontab:
  2. crontab -e
Tambah kandungan berikut dalam fail Crontab:
    # 每天的凌晨0点执行日志轮转脚本
    0 0 * * * /usr/local/bin/logrotate-script.sh
  1. Simpan dan keluar dari fail Crontab.
  2. Kini, Crontab akan melaksanakan skrip putaran log pada 0 pagi setiap hari untuk mengarkib dan mengosongkan fail log.

Ringkasan:

Melalui kaedah dan langkah di atas, kita boleh menggunakan Systemd dan Crontab untuk melaksanakan putaran log. Anda boleh menggunakan Systemd untuk menetapkan masa pengekalan fail log dan menggunakan Crontab untuk kerap melaksanakan skrip putaran log untuk mengarkib dan mengosongkan fail log. Melalui konfigurasi dan penggunaan yang munasabah, kami boleh mengurus dan menyelenggara fail log sistem dengan berkesan.

Atas ialah kandungan terperinci Kaedah dan langkah untuk melaksanakan putaran log menggunakan Systemd dan Crontab dalam Linux. 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