RHCSA seeria: Yumi paketihaldus, ülesannete automatiseerimine Croni ja jälgimissüsteemi logidega - 10. osa


Selles artiklis käsitleme pakettide installimist, värskendamist ja eemaldamist Red Hat Enterprise Linux 7-s. Samuti käsitleme, kuidas croni abil ülesandeid automatiseerida, ja lõpetame selle juhendi, selgitades, kuidas süsteemilogifaile fookusega leida ja tõlgendada õpetada teile, miks kõik need on iga süsteemiadministraatori jaoks olulised oskused.

Pakettide haldamine Yumi kaudu

Paketi installimiseks koos kõigi selle installimata sõltuvustega kasutate järgmist:

# yum -y install package_name(s)

Kui pakendi_nimi (ed) tähistavad vähemalt ühte reaalset paketinime.

Näiteks httpd ja mlocate installimiseks (selles järjekorras) tippige.

# yum -y install httpd mlocate

Märkus. Et ülaltoodud näide täht y möödub kinnitusviipidest, mille yum esitab enne taotletud programmide tegelikku allalaadimist ja installimist. Soovi korral võite selle välja jätta.

Vaikimisi installib yum paketi koos arhitektuuriga, mis sobib OS-i arhitektuuriga, välja arvatud juhul, kui paketi arhitektuur selle nimele lisatakse.

Näiteks 64-bitises süsteemis installib pakett yum install paketi x86_64 versiooni, samas kui yum install package.x86 (kui see on saadaval) 32-bitise.

Mõnikord soovite paketi installida, kuid ei tea selle täpset nime. Otsingu kõik või otsinguvõimalused võivad praegu lubatud hoidlatest otsida teatud märksõna vastavalt ka paketi nimes ja/või kirjelduses.

Näiteks,

# yum search log

otsib installitud hoidlatest pakette, mille nimedes ja kokkuvõtetes on sõna log, kusjuures

# yum search all log

otsib sama märksõna ka pakendi kirjelduse ja URL-i väljadelt.

Kui otsing tagastab pakettide loendi, võiksite enne installimist kuvada mõne neist lisateavet. Siis on infovõimalus kasulik:

# yum info logwatch

Värskendusi saate regulaarselt kontrollida järgmise käsuga:

# yum check-update

Ülaltoodud käsk tagastab kõik installitud paketid, mille värskendus on saadaval. Alloleval pildil näidatud näites on värskendus saadaval ainult rhel-7-server-rpms:

Seejärel saate seda paketti üksi värskendada,

# yum update rhel-7-server-rpms

Kui on mitu paketti, mida saab värskendada, värskendab yum update neid kõiki korraga.

Mis juhtub siis, kui teate käivitatava faili nime, näiteks ps2pdf, kuid ei tea, milline pakett seda pakub? Funktsiooni yum abil saate teada, mis pakub\"*/[käivitatav]]"

# yum whatprovides “*/ps2pdf”

Nüüd, kui tegemist on pakendi eemaldamisega, saate seda teha pakendi eemaldamise abil. Lihtne, mis? See näitab, et yum on täielik ja võimas paketihaldur.

# yum remove httpd

Loe ka: 20 Yum käsku RHEL 7 paketihalduse haldamiseks

Vana hea tavaline RPM

RPM-i (teise nimega RPM Package Manager ehk algselt RedHat Package Manager) saab kasutada ka pakettide installimiseks või värskendamiseks, kui need on eraldiseisvate .rpm -pakettidena.

Seda kasutatakse sageli lippude -Uvh abil, et see peaks installima paketi, kui seda veel pole, või proovima seda värskendada, kui see on installitud (-U) , mitmekülgne väljund (-v) ja räsimärkidega edenemisriba (-h) toimingu sooritamise ajal. Näiteks,

# rpm -Uvh package.rpm

Teine tüüpiline rpm-i kasutusviis on praegu installitud pakettide loendi loomine koodiga> rpm -qa (lühike kõigi päringute jaoks):

# rpm -qa

Loe ka: 20 RPM käsku pakettide installimiseks RHEL 7-sse

Ülesannete ajastamine Croni abil

Linux ja muud Unixi-laadsed operatsioonisüsteemid sisaldavad tööriista nimega cron, mis võimaldab ajastada ülesandeid (s.o käske või shelliskripte) perioodiliselt töötama. Cron kontrollib kataloogis/var/spool/cron iga minut failide kohta, mis on nime saanud/etc/passwd kontode järgi.

Käskude täitmisel saadetakse mis tahes väljund crontabi omanikule (või kasutajale, kes on määratud keskkonnamuutuja MAILTO kataloogis/etc/crontab, kui see on olemas).

Crontabi failidel (mis on loodud kirjutades crontab -e ja vajutades Enter) on järgmine vorming:

Seega, kui soovime värskendada kohalikku failide andmebaasi (mida locate kasutab failide leidmiseks nime või mustri järgi) iga kuu teisel päeval kell 2:15, peame lisama järgmise crontabi kirje:

15 02 2 * * /bin/updatedb

Ülaltoodud crontab-kirje kõlab: "Run/bin/updatedb kuu teisel päeval, igal aastal aastas, olenemata nädalapäevast, kell 02:15." Nagu ma olen kindel, et te juba arvasite , tähe sümbolit kasutatakse metamärgina.

Pärast croni töö lisamist näete, et fail nimega root lisati kataloogi/var/spool/cron, nagu me varem mainisime. Selles failis on loetletud kõik ülesanded, mida crond-deemon peaks käivitama:

# ls -l /var/spool/cron

Ülaltoodud pildil saab praeguse kasutaja crontab-i kuvada kas cat/var/spool/cron/root abil

# crontab -l

Kui peate mõne ülesande täitma täpsemalt (näiteks kaks korda päevas või kolm korda kuus), aitab cron teil ka seda teha.

Näiteks, et käivitada/my/script iga kuu 1. ja 15. kuupäeval ning mis tahes väljund saata aadressile/dev/null, saate lisada kaks crontab-kirjet järgmiselt:

01 00 1 * * /myscript > /dev/null 2>&1
01 00 15 * * /my/script > /dev/null 2>&1

Kuid selleks, et ülesannet oleks hõlpsam hooldada, saate mõlemad kanded ühte ühendada:

01 00 1,15 * *  /my/script > /dev/null 2>&1

Eelmise näite järgi saame/my/other/script käivitada iga kolme kuu kuu esimesel päeval kell 1.30 hommikul:

30 01 1 1,4,7,10 * /my/other/script > /dev/null 2>&1

Aga kui peate teatud ülesannet kordama iga\"x" minuti, tunni, päeva või kuu tagant, saate õige positsiooni jagada soovitud sagedusega. Järgmisel risttahukakirjel on täpselt sama tähendus kui eelmisel:

30 01 1 */3 * /my/other/script > /dev/null 2>&1

Või võib-olla peate käivitama kindla töö kindla sagedusega või näiteks pärast süsteemi käivitamist. Viie välja asemel võite kasutada ühte järgmistest stringidest, et näidata täpset aega, millal soovite oma tööd käivitada:

@reboot    	Run when the system boots.
@yearly    	Run once a year, same as 00 00 1 1 *.
@monthly   	Run once a month, same as 00 00 1 * *.
@weekly    	Run once a week, same as 00 00 * * 0.
@daily     	Run once a day, same as 00 00 * * *.
@hourly    	Run once an hour, same as 00 * * * *.

Loe ka: 11 käsku ajakirja Cron töökohtade ajastamiseks RHEL 7-s

Logide leidmine ja kontrollimine

Süsteemilogid asuvad (ja pööratakse) kataloogis/var/log. Vastavalt Linuxi failisüsteemi hierarhia standardile sisaldab see kataloog mitmesuguseid logifaile, mis on süsteemi töö ajal vastavate deemonite poolt kirjutatud sinna või vastavasse alamkataloogi (näiteks audit, httpd või samba alloleval pildil):

# ls /var/log

Muud huvitavad logid on dmesg (sisaldab kõiki kerneli rõnga puhvris olevaid sõnumeid), turvaline (logib ühenduse katsed, mis nõuavad kasutaja autentimist), sõnumid (kogu süsteemi hõlmavad sõnumid) ja wtmp (kõigi kasutaja sisselogimiste ja väljalogimiste kirjed).

Logid on väga olulised selle poolest, et need võimaldavad teil heita pilgu sellele, mis teie süsteemis kogu aeg toimub ja mis on juhtunud minevikus. Need on hindamatu tööriist Linuxi serveri tõrkeotsinguks ja jälgimiseks ning seetõttu kasutatakse neid sageli koos käsuga tail -f sündmuste reaalajas kuvamiseks, kui need juhtuvad ja logisse salvestatakse.

Näiteks kui soovite kuvada kerneliga seotud sündmusi, tippige järgmine käsk:

# tail -f /var/log/dmesg

Sama, kui soovite vaadata juurdepääsu oma veebiserverile:

# tail -f /var/log/httpd/access.log

Kokkuvõte

Kui teate, kuidas pakette tõhusalt hallata, ülesandeid ajastada ja kust otsida teavet oma süsteemi praeguse ja varasema töö kohta, võite olla kindel, et te ei satu üllatusi eriti sageli. Loodan, et see artikkel on aidanud teil õppida või värskendada oma teadmisi nende põhioskuste kohta.

Kui teil on küsimusi või kommentaare, heitke meile allpool oleva kontaktivormi abil rida.