Linuxin lokitiedostot ovat tekstitiedostoja, jotka tallentavat järjestelmässä tai sovelluksissa esiintyviä tapahtumia ja viestejä. Niitä käytetään järjestelmän suorituskyvyn seurantaan, diagnosointiin ja analysointiin.
Lokitiedostot voivat sisältää tietoa seuraavista asioista:
/var/log/syslog
tai /var/log/messages
: Yleiset järjestelmäviestit./var/log/auth.log
: Kirjaukset todennustapahtumista (kirjautumiset, sudon
käyttö jne.)./var/log/kern.log: Ytimen
viestit./var/log/dpkg.log
: Tallenteet pakettien asennuksesta ja poistosta (Debian-pohjaisissa järjestelmissä)./var/log/apache2/
: Apache-verkkopalvelimen lokitiedot (jos asennettu)./var/log/mysql/
: MySQL-tietokannan lokit (jos asennettu).Lokitiedostojen tarkastelu: Voit tarkastella lokitiedostojen sisältöä cat-
, less-
, more-
, tail-
ja muilla komennoilla.
tail -f /var/log/syslog
Tämä komento näyttää tiedoston viimeisimmät rivit ja päivittää tulosteen reaaliajassa.
Suodatus ja haku: Grep-komennolla
voit etsiä tiettyjä rivejä lokitiedostoista.
grep "error" /var/log/syslog
Lokien kierto: Lokit voivat viedä paljon tilaa levyltä, joten lokien kiertoa käytetään (esim. logrotate-apuohjelman avulla) vanhojen lokien arkistoimiseksi ja tilan vapauttamiseksi. Lokitiedostot ovat järjestelmänvalvojille ja kehittäjille tärkeä työkalu järjestelmän kunnon seurannassa ja ongelmien selvittämisessä.
Lokitiedoston luominen Linuxissa voidaan tehdä usealla eri tavalla riippuen siitä, miten tiedot halutaan tallentaa.
Voit luoda lokitiedoston ja kirjoittaa siihen tietoja käyttämällä echo-komentoa
ja ohjaamalla tulosteen uudelleen:
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.
Jos haluat korvata tiedoston, käytä yksittäistä >-komentoa.
Tee-komennon
avulla voit kirjoittaa komennon tulosteen tiedostoon ja näyttää sen samalla terminaalissa:
echo "This message will be recorded in a log file" | tee -a /path/to/your/logfile.log
Lippu -a tarkoittaa "append", jotta tiedostoa ei kirjoitettaisi yli.
Voit luoda Bashissa
skriptin, joka kirjoittaa viestejä lokitiedostoon:
#!/bin/bash
LOGFILE="/path/to/your/logfile.log"
echo "$(date): Running the script" >> "$LOGFILE"
# Your code is here
echo "$(date): Script Completion" >> "$LOGFILE"
Tallenna tämä koodi tiedostoon, esimerkiksi myscript.sh
, ja tee siitä suoritettava:
chmod +x myscript.sh
Suorita se sitten:
./myscript.sh
Jos haluat kirjoittaa lokitietoja järjestelmälokiin, kuten syslogiin
, voit käyttää logger-komentoa
:
logger "This message will be recorded in the system log"
Tämä kirjoittaa tämän viestin /var/log/syslog-tiedostoon
tai sopivaan lokitiedostoon järjestelmän kokoonpanon mukaan.
Jos kirjoitat ohjelmaa esimerkiksi Python-kielellä, voit käyttää sisäänrakennettuja kirjastoja lokien käsittelyyn:
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')
Näiden menetelmien avulla voit luoda ja hallita lokitiedostoja Linuxissa tarpeidesi mukaan.