Mga Halimbawa ng Linux Logrotate

Mga Halimbawa Ng Linux Logrotate



Ang impormasyon ng log ay isang napakahalagang bahagi ng anumang operating system upang masuri ang problema ng anumang tumatakbong application at ang mga log entries ay tumutulong upang malaman ang solusyon ng problema. Karamihan sa mga application ng Linux operating system ay bumubuo ng log at nakukuha ng system administrator ang kinakailangang impormasyon tungkol sa application mula sa mga log entry. Gayunpaman, ang mga log entries minsan ay lumilikha ng mga problema dahil ang laki ng mga entry ay nagiging mas malaki sa paglipas ng panahon. Kaya, ang mga entry sa log ay kinakailangan upang pamahalaan.

Ang logrotate ay isang command-line tool ng Linux upang pamahalaan ang mga log entry. Ang tool na ito ay tumutulong na magsagawa ng iba't ibang uri ng mga gawain sa mga log entries ng administrator tulad ng paglilimita sa mga rotated log files, pag-compress ng rotated log files, pagtanggal ng mga hindi kinakailangang log files, pag-execute ng partikular na shell script batay sa log files, atbp. Ang mga gamit ng command na 'logrorate' para sa pamamahala ng mga log file sa iba't ibang paraan ay ipinapakita sa tutorial na ito gamit ang maraming halimbawa.

Suriin ang Naka-install na Bersyon ng Logrotate

Ang command na 'logrotate' ay naka-install bilang default sa bagong bersyon ng operating system ng Ubuntu. Patakbuhin ang sumusunod na command upang suriin ang naka-install na bersyon ng command na 'logrotate':







$ logrotate --bersyon



Ang mga log entry ng iba't ibang mga application ay naka-store sa '/var/log' na folder bilang default. Ang sumusunod na katulad na nilalaman ay lilitaw kung titingnan mo ang nilalaman ng folder.



$ ls / ay / log





Itakda ang 'Logrotate' Configuration

Pagtatakda ng halaga Layunin
araw-araw / lingguhan / buwanan / taon-taon Tinutukoy nito ang tagal ng oras upang paikutin ang mga log.
iikot ang numero Tinutukoy nito ang bilang ng mga file na itatago bago alisin ang mga lumang log file.
compress Ito ay ginagamit upang i-compress ang mga file ng log.
compresscmd Ito ay ginagamit upang itakda ang 'compress' na utos. Ang gzip ay ang default na utos.
uncompresscmd Ito ay ginagamit upang itakda ang 'uncompress' na utos. Ang gunzip ay ang default na utos.
delaycompress Ginagamit ito upang maantala ang proseso ng compression ng mga log file.
walang laman ang notification Ito ay ginagamit upang hindi paikutin ang walang laman na file.
nawawala ako Kung ito ay nakatakda, walang error na nabuo para sa mga nawawalang log file.
laki Ito ay ginagamit upang itakda ang limitasyon upang simulan ang pag-ikot ng mga log file.
dateext Ginagamit ito upang magdagdag ng halaga ng petsa bilang suffix ng rotate file.
copytruncate Ito ay ginagamit upang lumikha ng isang kopya ng orihinal na file.
prerotated Ito ay ginagamit upang magpatakbo ng isang script bago paikutin ang mga log file.
postrotate Ito ay ginagamit upang magpatakbo ng isang script pagkatapos iikot ang mga file ng log.
lumikha Ginagamit ito upang lumikha ng mga log file na may pribilehiyong ugat.

Syntax:

Ang syntax ng command na 'logrotate' ay ibinibigay bilang mga sumusunod:



logrotate [ OPTION ] config_file_path

Maaaring gamitin ang iba't ibang uri ng mga opsyon para sa iba't ibang layunin gamit ang command na 'logrotate'.

Mga Opsyon sa Logrotate

Ang ilang mga kapaki-pakinabang na opsyon ng command na 'logrotate' ay binanggit sa sumusunod:

-f, –puwersa Ito ay ginagamit upang gawin ang pag-ikot nang malakas kung kinakailangan.
-d, –debug Ito ay ginagamit upang paganahin ang debug mode sa panahon ng pag-ikot.
-m, –mail Ito ay ginagamit upang magpadala ng isang email sa panahon ng pag-ikot.
-s, -state Ginagamit ito para sa mga alternatibong file ng estado.
-gamit Ito ay ginagamit upang i-print ang impormasyon ng paggamit.
-?, -tulong Ito ay ginagamit upang i-print ang mga mensaheng tumutulong.
-v, –verbose Ito ay ginagamit upang mag-print sa verbose mode.

Logrotate Configuration File

Ang pangunahing logrotate configuration file ay matatagpuan sa '/etc/logrotate.conf' na lokasyon. Patakbuhin ang sumusunod na command upang buksan ang file sa nano editor:

$ nano / atbp / logrotate.conf

Ang default na setting ng command na 'logrotate' ay ipinapakita sa 'logrotate.conf' na file. Ang 'include' na direktiba ay ginagamit sa file upang kunin ang configuration na matatagpuan sa '/etc/logrotate.d' na direktoryo.

Halimbawa 1: Gumawa ng Simple Logrotate Configuration File

Gumawa ng sample na log file na pinangalanang “/var/log/test.log” kasama ang sample log data. Patakbuhin ang sumusunod na command para buksan ang nano editor para gumawa ng bagong 'logrotate.conf' na file sa lokasyon ng folder na '/etc/tmp'. Lumikha ng folder na '/tmp' na may mga pribilehiyo sa ugat kung hindi ito nilikha noon.

$ nano / atbp / tmp / logrotate.conf

Idagdag ang sumusunod na content sa file para sa “/var/log/test.log” file. Ayon sa setting, ang 'test.log' file ay iikot araw-araw kung ang laki ng file ay lumampas sa 5K:

/ ay / log / pagsubok.log {

araw-araw

laki 5K

kanyang ugat adm

}

Patakbuhin ang sumusunod na command upang suriin ang laki ng log file:

$ ls -l / ay / log / pagsubok.log

Patakbuhin ang command na 'logrotate' pagkatapos gawin ang configuration file.

$ sudo logrotate / atbp / tmp / logrotate.conf

Patakbuhin muli ang sumusunod na command upang suriin ang laki ng log file pagkatapos isagawa ang command na 'logrotate':

$ ls -l / ay / log / pagsubok.log

Ang laki ng 'test.log' na file ay 1K+. Kaya, walang pag-ikot na ginagawa batay sa setting ng pagsasaayos.

Baguhin ang halaga ng laki sa 1K sa '/etc/tmp/logrotate.conf' na file at patakbuhin muli ang command na 'ls' upang suriin ang laki ng file ng '/var/log/test.log'. Ayon sa output, ang log file ay pinaikot at tinanggal dahil ang limitasyon sa laki ay lumampas.

Halimbawa 2: Paggamit ng Logrotate Copytruncate

Gumawa o baguhin ang “/etc/tmp/logrotate.conf” na file gamit ang mga sumusunod na setting upang ipakita ang paggamit ng copytruncate. Ayon sa bagong mga setting, ang logrotate ay lumilikha ng isang kopya ng orihinal na file sa pamamagitan ng paggawa ng orihinal na laki ng file sa zero.

/ ay / log / pagsubok.log {

paikutin 5

laki 1k

copytruncate

kanyang ugat adm

}

Patakbuhin ang sumusunod na command upang suriin ang laki ng “test.log” file:

$ ls -l / ay / log / pagsubok.log

Patakbuhin ang command na 'logrotate' pagkatapos gawin ang configuration file.

$ sudo logrotate / atbp / tmp / logrotate.conf

Patakbuhin muli ang sumusunod na command upang suriin ang laki ng 'test.log' na file pagkatapos isagawa ang command na 'logrotate':

$ ls -l / ay / log / pagsubok.log

Ang orihinal na laki ng file ay nagiging 0 pagkatapos isagawa ang command na 'logrotate' para sa setting ng copytruncate.

Halimbawa 3: Paggamit ng Logrotate Compress

Gumawa o baguhin ang '/etc/tmp/logrotate.conf' na file gamit ang mga sumusunod na setting upang ipakita ang paggamit ng compress. Ayon sa bagong mga setting, ang logrotate ay lumilikha ng isang compress file ng orihinal na file.

/ ay / log / pagsubok.log {

paikutin 5

laki 1k

compress

lumikha 770 ugat adm

}

Patakbuhin ang sumusunod na command upang suriin ang listahan ng mga file at folder ng '/var/log':

$ ls / ay / log /

Patakbuhin ang command na 'logrotate' pagkatapos gawin ang configuration file.

$ sudo logrotate / atbp / tmp / logrotate.conf

Patakbuhin muli ang sumusunod na command upang suriin ang listahan ng mga file at folder ng '/var/log':

$ ls / ay / log /

Ang naka-compress na file ng 'test.log' file ay ginawa gamit ang pangalang 'test.log.1.gz' at ang orihinal na file ay tinanggal.

Halimbawa 4: Paggamit ng Logrotate Dateext

Gumawa o baguhin ang “/etc/tmp/logrotate.conf” na file gamit ang mga sumusunod na setting upang ipakita ang paggamit ng dateext. Ayon sa mga bagong setting, ang logrotate ay lumilikha ng isang compress file ng orihinal na file na may halaga ng petsa.

ay / log / pagsubok.log {

kanyang ugat adm

paikutin 5

laki 1k

compress

lumikha 770 ugat adm

dateext

}

Patakbuhin ang command na 'logrotate' pagkatapos gawin ang configuration file.

$ sudo logrotate / atbp / tmp / logrotate.conf

Patakbuhin ang sumusunod na command upang suriin ang listahan ng mga file at folder ng '/var/log':

$ ls -l / ay / log /

Ang naka-compress na file ng 'test.log' file ay ginawa gamit ang pangalang 'test.log.20240129.gz' at ang orihinal na file ay aalisin.

Halimbawa 5: Paggamit ng Logrotate Maxage

Gumawa o baguhin ang “/etc/tmp/logrotate.conf” na file gamit ang mga sumusunod na setting upang ipakita ang paggamit ng maxage. Ayon sa mga setting, ang logrotate ay nagpapanatili ng limang log entries kung ang laki ng log file ay lumampas sa 1K pagkatapos ng isang araw.

/ ay / log / pagsubok.log {

kanyang ugat adm

paikutin 5

laki 1k

compress

maxage 1

}

Patakbuhin ang sumusunod na command na 'logrotate' upang iimbak ang output sa isa pang log file na pinangalanang 'out.log':

$ sudo logrotate -s = / ay / log / out.log / atbp / tmp / logrotate.conf

Ayon sa sumusunod na output, ang 'out.log' na file ay nilikha pagkatapos isagawa ang 'logrotate' na utos:

Halimbawa 6: Paggamit ng Logrotate Missingok

Gumawa o baguhin ang “/etc/tmp/logrotate.conf” na file gamit ang mga sumusunod na setting. Dito, ang 'testfile.log' log file ay hindi umiiral sa '/var/log' na folder.

/ ay / log / testfile.log {

kanyang ugat adm

paikutin 5

laki 1k

compress

}

Ang isang mensahe ng error ay naka-print pagkatapos isagawa ang 'logrotate' na utos.

Idagdag ang setting na 'missingok' sa logrotate configuration file at patakbuhin muli ang command na 'logrotate'. Walang error na naka-print para sa nawawalang log file.

Halimbawa 7: Paggamit ng Logrotate Prerotate

Gumawa ng Bash file na pinangalanang 'test.sh' gamit ang sumusunod na script na nagpi-print ng simpleng mensahe. Ginagamit ang file sa halimbawang logrotate na ito upang ipakita ang paggamit ng prerotate sa logrotate configuration file.

pagsubok.sh



#!/bin/bash

echo 'logrotate na mga halimbawa...'

Pagkatapos gawin ang file, patakbuhin ang sumusunod na command para itakda ang pahintulot sa pagpapatupad ng file na ito para sa lahat ng user:

$ chmod a+x / bahay / pagkakaunawaan / pagsubok.sh

Ngayon, gawin o baguhin ang '/etc/tmp/logrotate.conf' na file gamit ang mga sumusunod na setting. Ayon sa mga setting, ang logrotate ay nagpapanatili ng limang log entry kung ang laki ng log file ay lumampas sa 1K at ang 'test.sh' na file ay naisakatuparan bago ang pag-ikot.

/ ay / log / pagsubok.log {

kanyang ugat adm

paikutin 5

laki 1k

prerotated

/ bahay / pagkakaunawaan / pagsubok.sh

endscript

}

Ang output ng 'test.sh' na file ay ipinapakita pagkatapos isagawa ang 'logrotate' na utos:

Konklusyon

Ang iba't ibang paggamit ng command na 'logrotate' ay ipinapakita sa tutorial na ito gamit ang maraming halimbawa na makakatulong sa gumagamit ng Linux na malaman ang mga gamit ng command at maayos na pamahalaan ang mga log file.