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

WBOY
Lepaskan: 2023-09-26 19:04:41
asal
1757 orang telah melayarinya

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
    Salin selepas log masuk
Tambah kandungan berikut dalam fail konfigurasi:

[Journal]
Storage=persistent
MaxFileSec=1month
Salin selepas log masuk
#🎜 🎜 #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
    Salin selepas log masuk
    #🎜🎜 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
    Salin selepas log masuk

    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
    Salin selepas log masuk
    #🎜 🎜#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
    Salin selepas log masuk
    #🎜🎜🎜🎜##🎜 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
    Salin selepas log masuk
Tambah kandungan berikut dalam fail Crontab:
    # 每天的凌晨0点执行日志轮转脚本
    0 0 * * * /usr/local/bin/logrotate-script.sh
    Salin selepas log masuk
  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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan