Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Skrypt bash pokazujący uruchomione procesy dłużej niż 1h
#9
0
(09-09-2022, 13:22)[email protected] napisał(a):
(09-09-2022, 12:44)dedito napisał(a): Przykład:
Kod:
ps -fe
UID        PID  PPID  C STIME TTY          TIME CMD
webmast+    1    0  0 06:19 ?        00:00:00 /dev/init -- node /var/www/html/
...
Czyli interesują nas kolumny danych nr 1, 2, 7
No to dalej, korzystając z Twojego przykładu:
Kod:
ps -fe | awk '($1 !="root") {print $1 $2 $7}'
UIDPIDTIME
webmast+100:00:00p
Widać, że dane wyszły ale bez separatorów.
No to trzeba w tego pogooglać za przykładami i przykładowo zmodyfikować to tak:
Kod:
ps -fe | awk '($1 !="root") {print $1 " " $2 " " $7}'
UID PID TIME
webmast+ 1 00:00:00webmast+ 8 00:18:02
...
idąc tym tokiem można to jeszcze zmodyfikować tak:
Kod:
ps -fe | awk '($1 !="root") {print "Proc. " $1 " " $2 " wyk. "  $7}'
Proc. UID PID wyk. TIME
Proc. webmast+ 1 wyk. 00:00:00
...
czyli jak widać można odrazu uzyskać porządzane wyniki bez definiowania zmiennych.


Teraz mam coś takiego kod:

Kod:
#!/bin/bash

#echo Proces "$USR" "$PID" "$KOM" wykonuje się: $CZAS


IFS=$'\n'
for i in `ps -eo "%U %P %a %t " | awk '($1 !="root") {print $1 " " $2 " " $3 " " $6 " " $7}'`;

  do
      echo $i
#      echo Proces "$USR" "$PID" "$KOM" wykonuje się: $CZAS

USER=$1
PID=$2
KOM=$3
CZAS=$5
echo $USER
echo $PID
done


wynik:

Kod:
USER PPID COMMAND


polkitd 1 /usr/lib/polkit-1/polkitd


libstor+ 1 /usr/bin/lsmd


dbus 1 /usr/bin/dbus-daemon


chrony 1 /usr/sbin/chronyd


clamscan 1 /usr/sbin/clamd 27-22:48:09


mysql 1 /usr/libexec/mysqld


clamupd+ 1 /usr/bin/freshclam 27-22:47:09


apache 40988 php-fpm: 23-21:37:51


apache 40988 php-fpm: 23-21:37:51


apache 40988 php-fpm: 23-21:37:51


apache 40988 php-fpm: 23-21:37:51


apache 40988 php-fpm: 23-21:37:51


nrpe 1 /usr/sbin/nrpe 20-22:38:29


exim 1 /usr/sbin/exim 8-05:02:05


apache 450953 /usr/sbin/httpd


apache 450953 /usr/sbin/httpd


apache 450953 /usr/sbin/httpd


apache 450953 /usr/sbin/httpd


apache 450953 /usr/sbin/httpd


opph7481 41012 php-fpm: 5-10:00:16


opph7481 41012 php-fpm: 5-10:00:16


opph7481 41012 php-fpm: 5-10:00:16


opph7481 41012 php-fpm: 5-10:00:16


opph7481 41012 php-fpm: 5-10:00:16


opph7481 41012 php-fpm: 5-10:00:16


apache 450953 /usr/sbin/httpd


apache 510631 /usr/sbin/httpd 1-23:20:55


apache 510631 /usr/sbin/httpd 1-23:20:55


apache 510631 /usr/sbin/httpd 1-23:20:55


apache 510631 /usr/sbin/httpd 1-23:20:55


apache 547135 /usr/sbin/httpd 04:18:55


apache 547135 /usr/sbin/httpd 04:18:55


apache 547135 /usr/sbin/httpd 04:18:55


apache 547135 /usr/sbin/httpd 04:18:55


Testowo dałem te zmienne czy w ogóle coś jest w nich jak widać nie ma nic.. Nie wiem w jaki sposób te kolumny przekierować do zmiennych , a później na echo..



OK..Co do znaczników (zapomniałem).. A i wczytałem się w tą ostatnią wiadomość już modyfikuję.

Dodano po pewnym czasie:
Teraz mam taki wynik:
Proces USER PPID COMMAND Wykonuje się:
Proces    wykonuje się:
Proces polkitd 1 /usr/lib/polkit-1/polkitd Wykonuje się:
Proces    wykonuje się:
Proces libstor+ 1 /usr/bin/lsmd Wykonuje się:
Proces    wykonuje się:
Proces dbus 1 /usr/bin/dbus-daemon Wykonuje się:
Proces    wykonuje się:
Proces chrony 1 /usr/sbin/chronyd Wykonuje się:
Proces    wykonuje się:
Proces clamscan 1 /usr/sbin/clamd Wykonuje się: 27-23:03:47
Proces    wykonuje się:
Proces mysql 1 /usr/libexec/mysqld Wykonuje się:
Proces    wykonuje się:
Proces clamupd+ 1 /usr/bin/freshclam Wykonuje się: 27-23:02:47
Proces    wykonuje się:
Proces apache 40988 php-fpm: Wykonuje się: 23-21:53:29
Proces    wykonuje się:
Proces apache 40988 php-fpm: Wykonuje się: 23-21:53:29
Proces    wykonuje się:
Proces apache 40988 php-fpm: Wykonuje się: 23-21:53:29
Proces    wykonuje się:
Proces apache 40988 php-fpm: Wykonuje się: 23-21:53:29


Teraz najgorsze jak przefiltrować po kolumnie czas i wyświetlać tylko starsze niż 1h? --sort w poleceniu ps?
Odpowiedz


Wiadomości w tym wątku
RE: skrypt bash - przez dedito - 09-09-2022, 08:07
RE: skrypt bash - przez [email protected] - 09-09-2022, 12:03
RE: skrypt bash - przez dedito - 09-09-2022, 12:10
RE: skrypt bash - przez [email protected] - 09-09-2022, 12:14
RE: skrypt bash - przez dedito - 09-09-2022, 12:44
RE: skrypt bash - przez [email protected] - 09-09-2022, 13:22
RE: skrypt bash - przez [email protected] - 09-09-2022, 13:30

Skocz do:




Użytkownicy przeglądający ten wątek: 7 gości