Logrotate ir Linux komandrindas rīks, lai pārvaldītu žurnāla ierakstus. Šis rīks palīdz veikt dažāda veida uzdevumus ar administratora veiktajiem žurnāla ierakstiem, piemēram, ierobežot pagrieztos žurnālfailus, saspiest pagrieztos žurnālfailus, dzēst nevajadzīgos žurnālfailus, izpildīt konkrēto čaulas skriptu, pamatojoties uz žurnāla failiem, utt. Šajā apmācībā, izmantojot vairākus piemērus, ir parādīta komanda “logorate”, kas paredzēta žurnālfailu pārvaldībai dažādos veidos.
Pārbaudiet instalēto Logrotate versiju
Komanda “logrotate” pēc noklusējuma ir instalēta jaunajā Ubuntu operētājsistēmas versijā. Palaidiet šo komandu, lai pārbaudītu instalēto komandas “logrotate” versiju:
$ logrotēt -- versija
Dažādu lietojumprogrammu žurnāla ieraksti pēc noklusējuma tiek saglabāti mapē “/var/log”. Ja pārbaudīsit mapes saturu, tiks parādīts šāds līdzīgs saturs.
$ ls / bija / žurnāls
Iestatiet “Logrotate” konfigurāciju
Iestatīšanas vērtība | Mērķis |
katru dienu/nedēļu/mēnesi/gadu | Tas nosaka žurnālu pagriešanas laiku. |
pagriezt numuru | Tas nosaka failu skaitu, kas tiks saglabāti pirms veco žurnālfailu noņemšanas. |
saspiest | To izmanto žurnālfailu saspiešanai. |
saspiestcmd | To izmanto, lai iestatītu komandu “saspiest”. Gzip ir noklusējuma komanda. |
atspiest cmd | To izmanto, lai iestatītu komandu “atspiest”. Gunzip ir noklusējuma komanda. |
kavēšanās komprese | To izmanto, lai aizkavētu žurnālfailu saspiešanas procesu. |
paziņojums tukšs | To izmanto, lai negrieztu tukšo failu. |
Man pietrūkst | Ja tas ir iestatīts, trūkstošajiem žurnālfailiem kļūda netiek ģenerēta. |
Izmērs | To izmanto, lai iestatītu ierobežojumu, lai sāktu rotēt žurnālfailus. |
datuma teksts | To izmanto, lai pievienotu datuma vērtību kā rotācijas faila sufiksu. |
kopēt saīsināt | To izmanto, lai izveidotu oriģinālā faila kopiju. |
iepriekš pagriezts | To izmanto, lai palaistu skriptu pirms žurnālfailu pagriešanas. |
pēc rotācijas | To izmanto, lai palaistu skriptu pēc žurnālfailu pagriešanas. |
izveidot | To izmanto, lai izveidotu žurnālfailus ar root tiesībām. |
Sintakse:
Komandas “logrotate” sintakse ir norādīta šādi:
logrotēt [ IESPĒJA ] config_file_path
Ar komandu “logrotate” dažādiem mērķiem var izmantot dažāda veida opcijas.
Logrotate opcijas
Tālāk ir minētas dažas noderīgas komandas “logrotate” opcijas:
-f, -spēks | To izmanto, lai vajadzības gadījumā veiktu piespiedu rotāciju. |
-d, -atkļūdošana | To izmanto, lai rotācijas laikā iespējotu atkļūdošanas režīmu. |
-m, –mail |
To izmanto, lai nosūtītu e-pastu rotācijas laikā. |
-s, -state |
To izmanto alternatīvā stāvokļa failiem. |
– lietošana | To izmanto, lai izdrukātu lietošanas informāciju. |
–?, – palīdzēt | To izmanto palīdzības ziņojumu drukāšanai. |
-v, - runīgs | To izmanto, lai drukātu detalizētā režīmā. |
Logrotate konfigurācijas failu
Galvenais logrotate konfigurācijas fails atrodas “/etc/logrotate.conf” vietā. Palaidiet šo komandu, lai atvērtu failu nano redaktorā:
$ nano / utt / logrotate.confKomandas “logrotate” noklusējuma iestatījums ir parādīts failā “logrotate.conf”. Direktīvu “include” izmanto failā, lai izgūtu konfigurāciju, kas atrodas direktorijā “/etc/logrotate.d”.
1. piemērs. Izveidojiet vienkāršu Logrotate konfigurācijas failu
Izveidojiet žurnālfaila paraugu ar nosaukumu “/var/log/test.log” ar parauga žurnāla datiem. Palaidiet šo komandu, lai atvērtu nano redaktoru un izveidotu jaunu “logrotate.conf” failu mapes “/etc/tmp” atrašanās vietā. Izveidojiet mapi “/tmp” ar root tiesībām, ja tā iepriekš nav izveidota.
$ nano / utt / tmp / logrotate.confPievienojiet šādu saturu failam “/var/log/test.log” failam. Saskaņā ar iestatījumu, fails “test.log” tiks pagriezts katru dienu, ja faila lielums pārsniedz 5 K:
/ bija / žurnāls / test.log {katru dienu
Izmērs 5K
viņa saknes adm
}
Palaidiet šo komandu, lai pārbaudītu žurnālfaila lielumu:
$ ls -l / bija / žurnāls / test.logPēc konfigurācijas faila izveides palaidiet komandu “logrotate”.
$ sudo logrotēt / utt / tmp / logrotate.confVēlreiz palaidiet šo komandu, lai pārbaudītu žurnālfaila lielumu pēc komandas “logrotate” izpildes:
$ ls -l / bija / žurnāls / test.logFaila “test.log” izmērs ir 1 K+. Tādējādi, pamatojoties uz konfigurācijas iestatījumu, rotācija netiek veikta.
Mainiet lieluma vērtību uz 1K failā “/etc/tmp/logrotate.conf” un vēlreiz palaidiet komandu “ls”, lai pārbaudītu faila “/var/log/test.log” faila lielumu. Saskaņā ar izvadi žurnālfails tiek pagriezts un dzēsts, jo ir pārsniegts izmēra ierobežojums.
2. piemērs: Logrotate Copytruncate izmantošana
Izveidojiet vai modificējiet failu “/etc/tmp/logrotate.conf” ar šādiem iestatījumiem, lai parādītu copytruncate izmantošanu. Saskaņā ar jaunajiem iestatījumiem logrotate izveido oriģinālā faila kopiju, mainot sākotnējā faila lielumu uz nulli.
/ bija / žurnāls / test.log {pagriezt 5
Izmērs 1 k
kopēt saīsināt
viņa saknes adm
}
Palaidiet šo komandu, lai pārbaudītu faila “test.log” lielumu:
$ ls -l / bija / žurnāls / test.logPēc konfigurācijas faila izveides palaidiet komandu “logrotate”.
$ sudo logrotēt / utt / tmp / logrotate.confVēlreiz palaidiet šo komandu, lai pārbaudītu faila “test.log” lielumu pēc komandas “logrotate” izpildes:
$ ls -l / bija / žurnāls / test.logSākotnējais faila lielums kļūst 0 pēc komandas “logrotate” izpildes iestatījumam copytruncate.
3. piemērs: Logrotate Compress izmantošana
Izveidojiet vai modificējiet failu “/etc/tmp/logrotate.conf” ar šādiem iestatījumiem, lai parādītu kompresijas izmantošanu. Saskaņā ar jaunajiem iestatījumiem logrotate izveido sākotnējā faila saspiešanas failu.
/ bija / žurnāls / test.log {pagriezt 5
Izmērs 1 k
saspiest
izveidot 770 saknes adm
}
Palaidiet šo komandu, lai pārbaudītu “/var/log” failu un mapju sarakstu:
$ ls / bija / žurnāls /Pēc konfigurācijas faila izveides palaidiet komandu “logrotate”.
$ sudo logrotēt / utt / tmp / logrotate.confVēlreiz palaidiet šo komandu, lai pārbaudītu “/var/log” failu un mapju sarakstu:
$ ls / bija / žurnāls /Faila “test.log” saspiestais fails tiek izveidots ar nosaukumu “test.log.1.gz” un sākotnējais fails tiek noņemts.
4. piemērs: Logrotate Dateext izmantošana
Izveidojiet vai modificējiet failu “/etc/tmp/logrotate.conf” ar šādiem iestatījumiem, lai parādītu dateext izmantošanu. Saskaņā ar jaunajiem iestatījumiem logrotate izveido sākotnējā faila saspiešanas failu ar datuma vērtību.
bija / žurnāls / test.log {viņa saknes adm
pagriezt 5
Izmērs 1 k
saspiest
izveidot 770 saknes adm
datuma teksts
}
Pēc konfigurācijas faila izveides palaidiet komandu “logrotate”.
$ sudo logrotēt / utt / tmp / logrotate.confPalaidiet šo komandu, lai pārbaudītu “/var/log” failu un mapju sarakstu:
$ ls -l / bija / žurnāls /Faila “test.log” saspiestais fails tiek izveidots ar nosaukumu “test.log.20240129.gz” un sākotnējais fails tiek noņemts.
5. piemērs: Logrotate Maxage izmantošana
Izveidojiet vai modificējiet failu “/etc/tmp/logrotate.conf” ar šādiem iestatījumiem, lai parādītu maxage izmantošanu. Atbilstoši iestatījumiem logrotate saglabā piecus žurnāla ierakstus, ja žurnāla faila lielums pēc vienas dienas pārsniedz 1K.
/ bija / žurnāls / test.log {viņa saknes adm
pagriezt 5
Izmērs 1 k
saspiest
maxage 1
}
Palaidiet šo komandu “logrotate”, lai saglabātu izvadi citā žurnāla failā ar nosaukumu “out.log”:
$ sudo logrotēt -s = / bija / žurnāls / out.log / utt / tmp / logrotate.confSaskaņā ar šādu izvadi fails “out.log” tiek izveidots pēc komandas “logrotate” izpildes:
6. piemērs: Logrotate Missingok izmantošana
Izveidojiet vai modificējiet failu “/etc/tmp/logrotate.conf” ar šādiem iestatījumiem. Šeit žurnālfails “testfile.log” neeksistē mapē “/var/log”.
/ bija / žurnāls / testfile.log {viņa saknes adm
pagriezt 5
Izmērs 1 k
saspiest
}
Pēc komandas “logrotate” izpildes tiek izdrukāts kļūdas ziņojums.
Logrotate konfigurācijas failā pievienojiet iestatījumu “missingok” un vēlreiz palaidiet komandu “logrotate”. Trūkstošajam žurnālfailam netiek izdrukāta kļūda.
7. piemērs: Logrotate Prerotate izmantošana
Izveidojiet Bash failu ar nosaukumu “test.sh” ar šādu skriptu, kas izdrukā vienkāršu ziņojumu. Fails tiek izmantots šajā logrotate piemērā, lai parādītu priekšrotācijas izmantošanu logrotate konfigurācijas failā.
test.sh#!/bin/bash
atbalss 'logrotate piemērus...'
Pēc faila izveides palaidiet šo komandu, lai iestatītu šī faila izpildes atļauju visiem lietotājiem:
$ chmod a+x / mājas / saprašana / test.shTagad izveidojiet vai modificējiet failu “/etc/tmp/logrotate.conf” ar šādiem iestatījumiem. Atbilstoši iestatījumiem logrotate saglabā piecus žurnāla ierakstus, ja žurnāla faila lielums pārsniedz 1K un pirms rotācijas tiek izpildīts fails “test.sh”.
/ bija / žurnāls / test.log {viņa saknes adm
pagriezt 5
Izmērs 1 k
iepriekš pagriezts
/ mājas / saprašana / test.sh
beigu raksts
}
Faila “test.sh” izvade tiek parādīta pēc komandas “logrotate” izpildes:
Secinājums
Šajā apmācībā ir parādīti dažādi komandas “logrotate” lietojumi, izmantojot vairākus piemērus, kas palīdzēs Linux lietotājam uzzināt komandas lietojumu un pareizi pārvaldīt žurnālfailus.