Žurnālu faili (vai žurnāli) Linux ir teksta faili, kuros tiek ierakstīti sistēmā vai lietojumprogrammās notikušie notikumi un ziņojumi. Tos izmanto, lai uzraudzītu, diagnosticētu un analizētu sistēmas darbību.
Kādu informāciju tie satur?

Žurnālu datnēs var būt informācija par:
- Sistēmas notikumiem: ieraksti par sistēmas palaišanu, kļūdām, brīdinājumiem un citiem notikumiem, kas saistīti ar kodola un pakalpojumu darbību.
- lietojumprogrammu darbību: dažādu programmu ziņojumi, tostarp kļūdas, brīdinājumi un informatīvie ziņojumi.
- Drošība: ieraksti par pieteikšanos, piekļuves mēģinājumiem un citām ar drošību saistītām darbībām.
Galvenie Linux log faili ir šādi
/var/log/syslogvai/var/log/messages: vispārīgi sistēmas ziņojumi./var/log/auth.log: autentifikācijas notikumu (pieteikšanās,sudoizmantošana u. c.) ieraksti./var/log/kern.log: kodolaziņojumi./var/log/dpkg.log: pakotņu instalēšanas un noņemšanas ieraksti (Debian sistēmām)./var/log/apache2/: Apache tīmekļa servera žurnāli (ja ir instalēts)./var/log/mysql/: MySQL datubāzes žurnāli (ja instalēta).
Kā strādāt ar žurnālu failiem
Žurnālu apskate: lai apskatītu žurnālu failu saturu, varat izmantot cat, less, more, tail un citas komandas.
tail -f /var/log/syslog
Šī komanda parādīs jaunākās faila rindas un atjauninās izvades datus reāllaikā.
Filtrēšana un meklēšana: Komanda grep ļauj meklēt konkrētas rindas žurnālos.
grep "error" /var/log/syslog
Žurnālu rotācija: žurnāli var aizņemt daudz vietas diskā, tāpēc tiek izmantota žurnālu rotācija (piemēram, izmantojot logrotate utilītu), lai arhivētu vecos žurnālus un atbrīvotu vietu. Žurnālu datnes ir svarīgs rīks sistēmas administratoriem un izstrādātājiem, lai sekotu sistēmas darbībai un novērstu problēmas.
Kā izveidot žurnāla failu?
Žurnāla failu Linux sistēmā var izveidot vairākos veidos atkarībā no tā, kā vēlaties reģistrēt informāciju.
Izmantojot komandu echo
Jūs varat izveidot žurnāla failu un ierakstīt tajā datus, izmantojot komandu echo un pāradresējot izvades datus:
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.
Lai failu pārrakstītu, izmantojiet vienu >.
Izmantojot komandu tee
Komanda tee ļauj ierakstīt kādas komandas izvades rezultātu failā un vienlaikus parādīt to terminālī:
echo "This message will be recorded in a log file" | tee -a /path/to/your/logfile.log
Lai izvairītos no faila pārrakstīšanas, karodziņš -a nozīmē "pievienot".
Žurnāla faila izveide, izmantojot skriptu
Varat Bash programmā izveidot skriptu, kas ierakstīs ziņojumus žurnāla failā:
#!/bin/bash
LOGFILE="/path/to/your/logfile.log"
echo "$(date): Running the script" >> "$LOGFILE"
# Your code is here
echo "$(date): Script Completion" >> "$LOGFILE"
Šo kodu saglabājiet failā, piemēram, myscript.sh, un padariet to izpildāmu:
chmod +x myscript.sh
Pēc tam palaidiet to:
./myscript.sh
Sistēmas žurnālu izmantošana
Ja vēlaties ierakstīt žurnālus sistēmas žurnālos, piemēram, syslog, varat izmantot logger komandu:
logger "This message will be recorded in the system log"
Tas ierakstīs šo ziņojumu /var/log/syslog vai attiecīgajā žurnāla failā atkarībā no jūsu sistēmas konfigurācijas.
Programmēšanas valodu izmantošana
Ja rakstāt programmu tādās valodās kā Python, varat izmantot iebūvētās bibliotēkas, lai apstrādātu žurnālus:
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')
Šīs metodes ļaus jums izveidot un pārvaldīt žurnālu failus Linux sistēmā atkarībā no jūsu vajadzībām.