"Linux" žurnalo failai (arba žurnalai) - tai tekstiniai failai, kuriuose įrašomi sistemoje ar programose vykstantys įvykiai ir pranešimai. Jie naudojami sistemos veikimui stebėti, diagnozuoti ir analizuoti.
Žurnalų failuose gali būti informacijos apie:
/var/log/syslog
arba /var/log/messages
: bendrieji sistemos pranešimai./var/log/auth.log
: autentifikavimo įvykių (prisijungimų, sudo
naudojimo ir kt.) įrašai./var/log/kern.log: branduolio
pranešimai./var/log/dpkg.log
: paketų diegimo ir šalinimo įrašai ("Debian" sistemoms)./var/log/apache2/
: "Apache" žiniatinklio serverio žurnalai (jei įdiegtas)./var/log/mysql/
: MySQL duomenų bazės žurnalai (jei įdiegta).Žurnalų peržiūra: Norėdami peržiūrėti žurnalų failų turinį, galite naudoti cat
, less
, more
, tail
ir kitas komandas.
tail -f /var/log/syslog
Ši komanda parodys naujausias failo eilutes ir atnaujins išvestį realiuoju laiku.
Filtravimas ir paieška: Komanda grep
leidžia žurnaluose ieškoti konkrečių eilučių.
grep "error" /var/log/syslog
Žurnalų rotacija: žurnalai gali užimti daug vietos diske, todėl, norint archyvuoti senus žurnalus ir atlaisvinti vietą, naudojama žurnalų rotacija (pvz., naudojant logrotate įrankį). Žurnalų failai yra svarbus įrankis sistemos administratoriams ir kūrėjams, padedantis stebėti sistemos būklę ir šalinti problemas.
Žurnalo failą "Linux" sistemoje galima sukurti keliais būdais, priklausomai nuo to, kaip norite įrašyti informaciją.
Galite sukurti žurnalo failą ir įrašyti į jį duomenis naudodami komandą echo
ir nukreipdami išvestį:
echo "This message will be recorded in a log file" >> /path/to/your/logfile.log
>> adds text to the end of the file. If the file does not exist, it will be created.
Norėdami perrašyti failą, naudokite vieną >.
Komanda tee
leidžia įrašyti komandos išvestį į failą ir tuo pat metu ją rodyti terminale:
echo "This message will be recorded in a log file" | tee -a /path/to/your/logfile.log
Žymeklis -a reiškia "pridėti", kad failas nebūtų perrašytas.
Galite sukurti "Bash"
skriptą, kuris įrašytų pranešimus į žurnalo failą:
#!/bin/bash
LOGFILE="/path/to/your/logfile.log"
echo "$(date): Running the script" >> "$LOGFILE"
# Your code is here
echo "$(date): Script Completion" >> "$LOGFILE"
Išsaugokite šį kodą faile, pavyzdžiui, myscript.sh
, ir padarykite jį vykdytinu:
chmod +x myscript.sh
Tada jį paleiskite:
./myscript.sh
Jei norite įrašyti pranešimus į sisteminius žurnalus, pavyzdžiui, syslog
, galite naudoti komandą logger
:
logger "This message will be recorded in the system log"
Tai įrašys šį pranešimą į /var/log/syslog
arba atitinkamą žurnalo failą, priklausomai nuo jūsų sistemos konfigūracijos.
Jei rašote programą tokiomis kalbomis, kaip Python, galite naudoti integruotas bibliotekas žurnalams tvarkyti:
import logging
logging.basicConfig(filename='/path/to/your/logfile.log', level=logging.DEBUG)
logging.debug('This is a debugging message')
logging.info('This is an informational message')
logging.warning('This is a warning')
logging.error('This is an error message')
logging.critical('This is a critical message')
Šiais būdais galėsite kurti ir tvarkyti žurnalo failus "Linux" sistemoje priklausomai nuo savo poreikių.