7 полезных команд Linux для повседневного системного администрирования

 Мои лучшие 7 команд Linux CLI, которые я использую каждый день для мониторинга сервера Linux. Эта статья включает в себя команды сетевого мониторинга, мониторинга памяти и мониторинга диска.

Следующая команда покажет список топ-процессов, упорядоченных по использованию ОЗУ и ЦП

(remove the pipeline ( | ) and head if you want to see the full list):

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head

Пример вывода

[root@server var]# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
 PID  PPID  CMD                        %MEM %CPU
30196 1     /usr/sbin/mysqld            4.5 35.1
25794 18123 /usr/sbin/httpd -DFOREGROUN 1.0 0.9
25315 18123 /usr/sbin/httpd -DFOREGROUN 1.0 1.0
 3501 18123 /usr/sbin/httpd -DFOREGROUN 0.9 1.1
25785 18123 /usr/sbin/httpd -DFOREGROUN 0.9 0.9
25285 18123 /usr/sbin/httpd -DFOREGROUN 0.9 1.0
26903 18123 /usr/sbin/httpd -DFOREGROUN 0.9 1.0
26905 18123 /usr/sbin/httpd -DFOREGROUN 0.9 1.0
 2260 18123 /usr/sbin/httpd -DFOREGROUN 0.9 1.1

Найти самые большие каталоги в Linux

Если вы хотите отобразить самые большие каталоги в текущем рабочем каталоге, запустите:

[root@server ~]# du -a | sort -n -r | head -n 5

Пример вывода

[root@server var]# du -a | sort -n -r | head -n 5
2376792 .
1998812 ./lib
1894564 ./lib/mysql
1367484 ./lib/mysql/database_md
815108 ./lib/mysql/database_md/md_options.ibd

Найти самый большой файл в папке

find /home/ -type f -exec du -Sh {} + | sort -rh | head -n 5
OR
find /home/ -type f -printf "%s %p\n" | sort -rn | head -n 5

Пример вывода

[root@server var]# find /var -type f -exec du -Sh {} + | sort -rh | head -n 5
797M /var/lib/mysql/database_md/md_options.ibd
233M /var/lib/mysql/database_md/md_postmeta.ibd
125M /var/lib/mysql/database_md/md_posts.ibd
82M /var/lib/mysql/ibdata1
77M /var/lib/rpm/Packages

Список Количество открытых соединений на ip

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

Пример вывода

[root@server ~]# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
 1 104.28.27.160
 1 108.162.215.245
 1 108.162.216.143
 1 172.68.110.89
 1 172.68.211.5
 1 172.68.253.96
 1 172.68.255.39
 1 172.68.255.9
 1 172.68.65.253
 1 172.68.65.73
 1 172.68.65.91
 1 172.68.94.233
 1 172.68.94.71
 1 172.69.54.58
 1 172.69.62.137
 1 172.69.62.173
 1 172.69.62.185
 1 172.69.62.53
 1 172.69.62.71
 1 173.245.54.32
 1 173.245.54.50
 1 49.207.114.225
 77 178.238.235.165

Список процессов по использованию дискового ввода / вывода

Для этого нам нужен iotop.

Установить IOTOP

Установите iotop в Debian / Ubuntu и Mint Linux

Чтобы установить iotop в Debian / Ubuntu или Mint linux, введите следующую команду на своем терминале:

sudo apt-get install iotop -y
Установка iotop в RHEL, CentOS и Fedora

Чтобы установить  iotop  на  RHEL ,  CentOS  и  Fedora,  используйте следующую команду yum:

yum install iotop

Запустите эту команду:

iotop
Пример вывода

В IOTop процессы с наибольшим использованием отображаются в верхней части списка.

Total DISK READ :       0.00 B/s | Total DISK WRITE :     134.97 K/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:     219.80 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
  344 be/3 root        0.00 B/s    0.00 B/s  0.00 % 32.52 % [jbd2/sda2-8]
30205 be/4 mysql       0.00 B/s    0.00 B/s  0.00 %  2.74 % mysqld
30209 be/4 mysql       0.00 B/s  123.40 K/s  0.00 %  0.05 % mysqld
30215 be/4 mysql       0.00 B/s   11.57 K/s  0.00 %  0.03 % mysqld
30207 be/4 mysql       0.00 B/s    0.00 B/s  0.00 %  0.02 % mysqld
30200 be/4 mysql       0.00 B/s    0.00 B/s  0.00 %  0.01 % mysqld
 5632 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % sshd: root@pts/0
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --switched-root --system --deserialize 21
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
30212 be/4 mysql       0.00 B/s    0.00 B/s  0.00 %  0.00 % mysqld

Узнать, какая программа / процесс прослушивает порт / IP-адрес

netstat -nap | grep LISTEN

Пример вывода

[root@server ~]# netstat -nap | grep LISTEN
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 29662/redis-server
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 898/exim
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 908/dovecot
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 908/dovecot
tcp 0 0 178.238.235.165:8080 0.0.0.0:* LISTEN 375/httpd
tcp 0 0 178.238.235.165:80 0.0.0.0:* LISTEN 29481/nginx: master
tcp 0 0 127.0.0.1:8081 0.0.0.0:* LISTEN 375/httpd
tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 898/exim
tcp 0 0 0.0.0.0:8083 0.0.0.0:* LISTEN 2427/nginx: master
tcp 0 0 127.0.0.1:8084 0.0.0.0:* LISTEN 29481/nginx: master
tcp 0 0 178.238.235.165:53 0.0.0.0:* LISTEN 2155/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 2155/named
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 954/vsftpd
tcp 0 0 0.0.0.0:7576 0.0.0.0:* LISTEN 31291/sshd
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 2155/named
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 898/exim
tcp 0 0 178.238.235.165:8443 0.0.0.0:* LISTEN 375/httpd
tcp 0 0 178.238.235.165:443 0.0.0.0:* LISTEN 29481/nginx: master
tcp 0 0 0.0.0.0:2525 0.0.0.0:* LISTEN 898/exim
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 908/dovecot
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 908/dovecot
tcp6 0 0 :::3306 :::* LISTEN 30196/mysqld
tcp6 0 0 :::7576 :::* LISTEN 31291/sshd
tcp6 0 0 ::1:953 :::* LISTEN 2155/named

В приведенном выше выводе, если взять первую строку, это говорит нам, что процесс с именем SSHD с PID 202479 прослушивает порт 22, протокол tcp, на всех доступных системных IP-адресах.

Перечислите процессы, используя swap

for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r

Пример вывода

mysqld 593432 кБ
мировой сервер 528624 кБ
селевой поток 450760 кБ
mongod 448096 кБ
mysqld 447140 кБ
Ява 358780 кБ
системный 301720 кБ
mysqld 273256 кБ
Ява 252704 КБ
узел 225476 кБ
mysqld 138144 кБ
питон 129964 кБ
mongod 120812 кБ
mysqld 116868 кБ
mysqld 116644 кБ
mysqld 104856 кБ
mysqld 104388 кБ
mysqld 100088 кБ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

%d такие блоггеры, как: