Linux жүйесіндегі журнал файлдары (немесе журналдар) - жүйеде немесе қолданбаларда орын алатын оқиғалар мен хабарларды жазатын мәтіндік файлдар. Олар жүйе өнімділігін бақылау, диагностикалау және талдау үшін қолданылады.
Журнал файлдары мыналар туралы ақпаратты қамтуы мүмкін:
/var/log/syslog
немесе /var/log/messages
: Жалпы жүйелік хабарлар./var/log/auth.log
: Аутентификация оқиғаларын журналдар (логиндер, sudo
пайдалану, т.б.)./var/log/kern.log
: ядролық хабарлар./var/log/dpkg.log
: Буманы орнату және жою жазбалары (Debian негізіндегі жүйелер үшін)/var/log/apache2/
: Apache веб-серверінің журналдары (орнатылған болса)./var/log/mysql/
: MySQL дерекқор журналдары (орнатылған болса).Журналдарды қарау: Журнал файлдарының мазмұнын көру үшін cat
, less
, more
, tail
және т.б. пәрмендерін пайдалануға болады.
tail -f /var/log/syslog
Бұл пәрмен файлдың соңғы жолдарын көрсетеді және нәтижені нақты уақытта жаңартады.
Сүзу және іздеу: grep
пәрмені журналдардағы белгілі бір жолдарды іздеуге мүмкіндік береді.
grep "error" /var/log/syslog
Журналды айналдыру: журналдар дискіде көп орын алуы мүмкін, сондықтан журналды айналдыру (мысалы, логротаттық қызметтік бағдарламасын пайдалану) ескі журналдарды мұрағаттау және орынды босату үшін пайдаланылады. Журнал файлдары жүйе әкімшілері мен әзірлеушілерге жүйенің күйін бақылау және ақаулықтарды жою үшін маңызды құрал болып табылады.
Linux жүйесінде журнал файлын жасау ақпаратты жазу жолына байланысты бірнеше жолмен жасалуы мүмкін.
Журнал файлын жасауға және оған echo
пәрменін және шығыс қайта бағыттауды пайдаланып деректерді жазуға болады:
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.
Файлды қайта жазу үшін жалғыз >
пайдаланыңыз.
tee
пәрмені команданың шығысын файлға жазуға және оны бір уақытта терминалда көрсетуге мүмкіндік береді:
echo "This message will be recorded in a log file" | tee -a /path/to/your/logfile.log
-a жалауы файлды қайта жазуды болдырмау үшін «қосу» дегенді білдіреді.
Журнал файлына хабарлар жазатын Bash
сценарийін жасауға болады:
#!/bin/bash LOGFILE="/path/to/your/logfile.log" echo "$(date): Running the script" >> "$LOGFILE" # Your code is here echo "$(date): Script Completion" >> "$LOGFILE"
Бұл кодты myscript.sh
сияқты файлға сақтаңыз және оны орындалатын етіп жасаңыз:
chmod +x myscript.sh
Содан кейін оны іске қосыңыз:
./myscript.sh
Егер syslog
сияқты жүйелік журналдарға журналдарды жазғыңыз келсе, logger
пәрменін пайдалана аласыз:
logger "This message will be recorded in the system log"
Бұл хабар жүйе конфигурациясына байланысты /var/log/syslog
немесе сәйкес журнал файлына жазылады.
Егер сіз Python сияқты тілдерде бағдарлама жазсаңыз, журналдармен жұмыс істеу үшін кірістірілген кітапханаларды пайдалана аласыз:
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')
Бұл әдістер қажеттіліктеріңізге байланысты Linux жүйесінде журнал файлдарын жасауға және басқаруға мүмкіндік береді.