Ž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.
Žurnālu datnēs var būt informācija par:
/var/log/syslog
vai /var/log/messages
: vispārīgi sistēmas ziņojumi./var/log/auth.log
: autentifikācijas notikumu (pieteikšanās, sudo
izmantošana u. c.) ieraksti./var/log/kern.log: kodola
ziņ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).Ž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.
Žurnāla failu Linux sistēmā var izveidot vairākos veidos atkarībā no tā, kā vēlaties reģistrēt informāciju.
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 >.
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".
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
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.
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.