Гледах един клип и ми дойде на ум, че трябва да покажа най-честите команди при отстраняване на грешки в Linux сървъри. Ще разделя тестването и отстраняването на грешките на пет категории..
Може би най-честите проблеми са свързани с дисковете. Колко са запълнени, лоши сектори или какво ли още не.
df -h
du -sh /tmp
lsblk
smartctl -a /dev/sda
cat /proc/mdstat
Започваме със състояние на дисковете.
iostat
Ако я нямате налична тази команда, то трябва да инсталирате съответния пакет. Можем да проверим какви активни процеси имаме.
iotop
Подобна команда на горната е:
top
Още една команда аналогична на горната, но по-красива.
htop
vmstat free -m cat /proc/meminfo
ps aux
Показва всички процеси пуснати на машината. Можем да убием процеса.
kill номера_на_процеса
Можем да видим състоянието на процеса чрез:
systemctl status име_на_процеса
Отстраняване на грешки в процеса в реално време.
strace -p <PID> strace -p номера_на_процеса
netstat -tulpn
Показва всички мрежови услуги на кой порт работят. Подобна на горната програма.
ss -lntu
Състояние на мрежовите интерфейси.
ip a ifconfig
Информация за рутиращата таблица.
netstat -rn ip r
Информация за пътя на пакета.
traceroute 8.8.8.8 mtr 8.8.8.8
Последната команда трасира пътя в реално време. Проверка на DNS-a
dig dir.bg nslookup dir.bg
Какви пакети преминават през определен интерфейс.
tcpdump -i any port 9100 -nn
-i any - да слуша на всички интерфейси port 9100 - да слуша на порт 9100 -nn - да не преобразува IP адресите в имена
tail -f -n50 /var/log/syslog dmesg -T
За да видим всички логове.
journalctl
Да видим определен лог за даден сървис.
journalctl -xeu apache2