SSH Befehle: Unterschied zwischen den Versionen

Aus Glaskugel
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Category:SSH]]
=Dienste und Prozesse=
=Dienste und Prozesse=
===Calculates the total CPU usage percentage of all running processes===
<code>ps aux | awk '{sum+=$3}; END{print "Total CPU usage:"; print sum}'</code>
===Show top 10 processes sorted by memory usage===
<code>ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head</code>
===System Usage & Resource Consumption===
<code>while true
  do
      clear
      echo "====== System Usage & Resource Consumption ======"
      echo "CPU Usage"
      echo "------------------------------------------------"
      top -b -n1 | head -10
      echo " "
      echo "Free Memory"
      echo "------------------------------------------------"
      free -h
      echo " "
      echo "Disk Usage"
      echo "------------------------------------------------"
      df -h
      sleep 5
  done</code>
===Dienste neustarten===
===Dienste neustarten===
;zum Neustarten kopiere eine Zeile und füge diese auf der Shell ein (ohne Klammern) weitere Optionen statt ''restart'' wären z.B. ''stop'' und ''start''
;zum Neustarten kopiere eine Zeile und füge diese auf der Shell ein (ohne Klammern) weitere Optionen statt ''restart'' wären z.B. ''stop'' und ''start''
Zeile 32: Zeile 56:
:<code>service crond restart</code>
:<code>service crond restart</code>
====Netzwerkverbindungen====
====Netzwerkverbindungen====
:<code>service network restart</code>
:<code>service network restart</code>
====Zabbix Agenten neustart====
:<code>service zabbix-agent restart</code>
====Plesk====
====Plesk====
:<code>service psa restart</code>
:<code>service psa restart</code>
Zeile 45: Zeile 71:
:<code>ps auxf</code>
:<code>ps auxf</code>
:<code>free -m</code> (zeigt den aktuell tatsächlich freien Arbeitsspeicher an)
:<code>free -m</code> (zeigt den aktuell tatsächlich freien Arbeitsspeicher an)
===E-Mail versenden via SSH===
<code>echo "MAILTEXT" | mail -s "BETREFF" EMPFÄNGERADRESSE</code>


===Server-Status bei den Plesk-Servern öffnen===
===Server-Status bei den Plesk-Servern öffnen===
Zeile 56: Zeile 84:
===Speicherplatz aller Abo´s neu berechnen===
===Speicherplatz aller Abo´s neu berechnen===
<code>/usr/local/psa/admin/sbin/statistics –calculate-all</code>
<code>/usr/local/psa/admin/sbin/statistics –calculate-all</code>
===Webstats für Domain entfernen===
<code>plesk bin domain --update example.com -webstat none</code>


=Alles rund um Dateien=
=Alles rund um Dateien=
Zeile 65: Zeile 96:
<code>find /var/www/vhosts/andreaswehner.www81.hostkraft.de/httpdocs/logfiles -type f -name "error*.*.log.gz" -print0 | xargs -0 rm</code>
<code>find /var/www/vhosts/andreaswehner.www81.hostkraft.de/httpdocs/logfiles -type f -name "error*.*.log.gz" -print0 | xargs -0 rm</code>
===Rechte/Ordner und Dateien Testshops richtig zuweisen bei fehler 404 Permissions denied....===
===Rechte/Ordner und Dateien Testshops richtig zuweisen bei fehler 404 Permissions denied....===
<code>find /var/www/vhosts/marcusklopp.www72.hostkraft.de/httpdocs/ -type f -print0 | xargs -0 chmod 644</code>
:<code>find /var/www/vhosts/marcusklopp.www72.hostkraft.de/httpdocs/ -type f -print0 | xargs -0 chmod 644</code>
<code>find /var/www/vhosts/marcusklopp.www72.hostkraft.de/httpdocs/ -type d -print0 | xargs -0 chmod 755</code>
:<code>find /var/www/vhosts/marcusklopp.www72.hostkraft.de/httpdocs/ -type d -print0 | xargs -0 chmod 755</code>


===Größe von Dateien und Ordner berechnen===
===Größe von Dateien und Ordner berechnen===
Zeile 73: Zeile 104:
<code>du -sch /var</code>
<code>du -sch /var</code>
===Daten via SSH von Shared auf anderen Shared verschieben===
===Daten via SSH von Shared auf anderen Shared verschieben===
<code>rsync -arvuP -e ssh /var/www/vhosts/#########/httpdocs/gx2/ root@www##.estugo.de:/var/www/vhosts/#############/httpdocs/gx2</code>
<code>rsync -arvuP -e ssh /var/www/vhosts/#########/httpdocs/gx2/ root@www##.hostingprimus.de:/var/www/vhosts/#############/httpdocs/gx2</code>
:Im Anschluss Benutzer anpassen:  
:Im Anschluss Benutzer anpassen:  
<code>find /var/www/vhosts/#####.www####.hostkraft.de/ -type f -exec ls -la --full-time {} \;|grep "2015-07-02 17:35"</code>
<code>find /var/www/vhosts/#####.www####.hostkraft.de/ -type f -exec ls -la --full-time {} \;|grep "2015-07-02 17:35"</code>
===Dateien zählen===
===Dateien zählen===
<code>cd /var/www/vhosts/sebastianmeier.www70.hostkraft.de/httpdocs/ && for i in `ls -a -1`; do echo "$i: `find $i|wc -l`"; done | sort -n -k2</code>
<code>cd /var/www/vhosts/sebastianmeier.www70.hostkraft.de/httpdocs/ && for i in `ls -a -1`; do echo "$i: `find $i|wc -l`"; done | sort -n -k2</code>
===neue Zeile am Ende der Datei einfügen ---> $a muss bestehen bleiben!===
===neue Zeile am Ende der Datei einfügen ---> $a muss bestehen bleiben!===
<code>sed -i '$aNeue Zeile' /root/inodes.txt</code>
<code>sed -i '$aNeue Zeile' /root/inodes.txt</code>
===Zeichen aus der Anzeige einer Datei ausschließen===
Konfigurationsdateien können so ohne die lästigen Hinweise angezeigt werden. So dass man nur die tatsächlichen Parameter angezeigt bekommt.<br>
Allerdings dann auch ohne die auskommentierten Zeilen. Also immer schön prüfen.
:<code>cat /etc/zabbix/zabbix_proxy.conf |grep -v "^#$"</code>
:<code>cat /etc/zabbix/zabbix_proxy.conf |grep -v "#"</code>
=Alles rund um Datenbanken=
=Alles rund um Datenbanken=
===Db Dump via SSH===
===Db Dump via SSH===
Zeile 92: Zeile 130:
===alte, entpackte Datenbank löschen===
===alte, entpackte Datenbank löschen===
<code>rm -f tmp/####.sql</code>
<code>rm -f tmp/####.sql</code>
==Arbeiten auf dem Datenbankserver via SSH==
Im Prinzip muss man nicht häufig via SSH auf den Datenbankserver zugreifen, da wir dies zumeist bequem über Plesk lösen. Jedoch gibt es die Möglichkeit, hier schnell und gezielt Informationen zu erhalten oder umzusetzen.
===Öffnen einer Sitzung:===
<code>plesk db</code>
:Ausgabe:
::''Welcome to the MariaDB monitor.  Commands end with ; or \g.''
::''Your MariaDB connection id is 489180''
::''Server version: 10.2.26-MariaDB MariaDB Server''
::''Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.''
::''Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.''
;Innerhalb der Datenbanksitzung ändert sich die Eingabeaufforderung zu folgender Ansicht:
:MariaDB [psa]>
===Ein einfacher Befehl könnte nun z.B. lauten:===
Alle Datenbanken auf dem Server auflisten
:MariaDB [psa]>  <code>show databases;</code>
Beachte: der Befehl wird mit einem Semikolon (;) beendet
===Ein etwas komplexerer Befehl zum Anzeigen bestimmter Parameter===
Auflisten aller verwendeter SQL Modi
:MariaDB [psa]>  <code>SELECT @@SQL_MODE, @@GLOBAL.SQL_MODE;</code>
===Beenden der Datenbanksitzung===
:MariaDB [psa]>  <code>exit</code>


=Alles rund um LOGS=
=Alles rund um LOGS=
===Wo sind welche Logs===
;Maillog
:<code>cat /var/log/maillog | grep postfach@domain.tld</code>


;Ftplog - Logins
:<code>cat /var/log/secure | grep ftpuser</code>
;Ftplog - Transfer
:<code>cat /var/log/plesk/xferlog | grep ftpuser</code>
===Logging Reparieren===
;Sofern div. Prozesse / Befehle ( screen/weget/usw )nicht ordnungsgemäß durchlaufen.
:<code>rm -rf /var/log/journal/*</code>
:nach dem Löschen ist ein <code>reboot</code> unumgänglich
===LOG Live überprüfen===
===LOG Live überprüfen===
<code>watch 'tail -n 20 /var/log/maillog'</code>
:<code>watch 'tail -n 20 /var/log/maillog'</code>


===FTP Log überprüfen===
===FTP Log überprüfen===
<code>cat /var/log/secure | grep hierderuser</code>
:<code>cat /var/log/secure | grep hierderuser</code>
===Zugriffe von Bots sortieren===
===Zugriffe von Bots sortieren===
<code>cat /var/www/vhosts/system''/hierdiedomain''/logs/access_log.processed | grep bot | awk -F\" '{print $6}' | sort | uniq -c | sort -n</code>
:<code>cat /var/www/vhosts/system''/hierdiedomain''/logs/access_log.processed | grep bot | awk -F\" '{print $6}' | sort | uniq -c | sort -n</code>
===Ordner für Statistiken neu anlegen===
===Ordner für Statistiken neu anlegen===
<code>/usr/local/psa/admin/sbin/relink-vhost-logs --domain-name andreaskaser.wwwXX.hostkraft.de --sys-user-login andreaskaser --create</code>
:<code>/usr/local/psa/admin/sbin/relink-vhost-logs --domain-name andreaskaser.wwwXX.hostkraft.de --sys-user-login andreaskaser --create</code>
 
=Nützliches=
===Farbe der SSH Sitzung ändern===
;<code>printf '\e[38;5;34m Foreground color: green\n'</code>
;
===Passwörter von Postfächern auslesen===
;<code>/usr/local/psa/admin/bin/mail_auth_view | grep 'domain.tld'</code>
==IP auslesen aus mehrfacher Anzeige==
;<code>ip a | grep "venet0:0" | awk '{print $4}'</code>
:"ip a" als Grundbefehl , "grep" auf den zutreffensten Ausdruck der jeweilgen Zeile , "awk" hier auf den 4 Asudruck den geGREPten Zeile

Aktuelle Version vom 19. Dezember 2023, 23:18 Uhr


Dienste und Prozesse

Calculates the total CPU usage percentage of all running processes

ps aux | awk '{sum+=$3}; END{print "Total CPU usage:"; print sum}'

Show top 10 processes sorted by memory usage

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

System Usage & Resource Consumption

while true

 do
     clear
     echo "====== System Usage & Resource Consumption ======"
     echo "CPU Usage"
     echo "------------------------------------------------"
     top -b -n1 | head -10
     echo " "
     echo "Free Memory"
     echo "------------------------------------------------"
     free -h
     echo " "
     echo "Disk Usage"
     echo "------------------------------------------------"
     df -h
     sleep 5
 done

Dienste neustarten

zum Neustarten kopiere eine Zeile und füge diese auf der Shell ein (ohne Klammern) weitere Optionen statt restart wären z.B. stop und start

OPEN VPN Dienst neustarten

/etc/init.d/openvpnas restart

HTTP/Webserver/Apache

service httpd restart

HTTP/Webserver/Nginx

service nginx restart

FTP

service xinetd restart

Datenbank/Sql/MariaDB

service mariadb restart
service mysqld restart

Authentifzierung Posteingang

service courier-authdaemon restart

Authentifizierung Postausgang

service saslauthd restart

Postfix/Postausgang

Wenn der Maildienst komplett neu gestartet werden soll, dann am Besten immer Postfix und auch die folgenden 4 Dienste neu starten
service postfix restart
service postfix restart && service courier-imapd restart && service courier-imaps restart && service courier-pop3d restart && service courier-pop3s restart

IMAP ohne SSL

service courier-imapd restart

IMAP mit SSL

service courier-imaps restart

POP3 ohne SSL

service courier-pop3d restart

POP3 mit SSL

service courier-pop3s restart

Cronjobs

service crond restart

Netzwerkverbindungen

service network restart

Zabbix Agenten neustart

service zabbix-agent restart

Plesk

service psa restart

Plesk-Dienst

service sw-cp-server restart

Plesk-Dienst

service sw-engine restart

Dr. Web Virusdatenbank manuell updaten

/opt/drweb/update.pl

laufende Prozesse/Dienste einsehen

htop oder top (zeigt auch die RAM und CPU Auslastung an)
ps auxf
free -m (zeigt den aktuell tatsächlich freien Arbeitsspeicher an)

E-Mail versenden via SSH

echo "MAILTEXT" | mail -s "BETREFF" EMPFÄNGERADRESSE

Server-Status bei den Plesk-Servern öffnen

lynx --dump --width 200 -auth=monitor:MsdorRf2p3f http://localhost:7080/server-status | less

Plesk_AdminPasswort ändern

plesk bin admin --set-admin-password -passwd '*****'

Speicherplatz einzelner Accounts neu berechnen

/usr/local/psa/admin/sbin/statistics --calculate-one --domain-name=name.wwwXX.hostkraft.de

Speicherplatz aller Abo´s neu berechnen

/usr/local/psa/admin/sbin/statistics –calculate-all

Webstats für Domain entfernen

plesk bin domain --update example.com -webstat none

Alles rund um Dateien

Wörter in Dateien finden und ausgeben lassen

find /var/www/vhosts/hierdiedomain/httpdocs/ -type f -print0 |xargs --null grep -i "h

Dateinamen auslesen

ls -la /var/www/vhosts/andreaswehner.www81.hostkraft.de/httpdocs/logfiles | less

Dateien löschen

find /var/www/vhosts/andreaswehner.www81.hostkraft.de/httpdocs/logfiles -type f -name "error*.*.log.gz" -print0 | xargs -0 rm

Rechte/Ordner und Dateien Testshops richtig zuweisen bei fehler 404 Permissions denied....

find /var/www/vhosts/marcusklopp.www72.hostkraft.de/httpdocs/ -type f -print0 | xargs -0 chmod 644
find /var/www/vhosts/marcusklopp.www72.hostkraft.de/httpdocs/ -type d -print0 | xargs -0 chmod 755

Größe von Dateien und Ordner berechnen

du -h --max-depth=1

Verzeichnisgröße berechnen

du -sch /var

Daten via SSH von Shared auf anderen Shared verschieben

rsync -arvuP -e ssh /var/www/vhosts/#########/httpdocs/gx2/ root@www##.hostingprimus.de:/var/www/vhosts/#############/httpdocs/gx2

Im Anschluss Benutzer anpassen:

find /var/www/vhosts/#####.www####.hostkraft.de/ -type f -exec ls -la --full-time {} \;|grep "2015-07-02 17:35"

Dateien zählen

cd /var/www/vhosts/sebastianmeier.www70.hostkraft.de/httpdocs/ && for i in `ls -a -1`; do echo "$i: `find $i|wc -l`"; done | sort -n -k2

neue Zeile am Ende der Datei einfügen ---> $a muss bestehen bleiben!

sed -i '$aNeue Zeile' /root/inodes.txt

Zeichen aus der Anzeige einer Datei ausschließen

Konfigurationsdateien können so ohne die lästigen Hinweise angezeigt werden. So dass man nur die tatsächlichen Parameter angezeigt bekommt.
Allerdings dann auch ohne die auskommentierten Zeilen. Also immer schön prüfen.

cat /etc/zabbix/zabbix_proxy.conf |grep -v "^#$"
cat /etc/zabbix/zabbix_proxy.conf |grep -v "#"

Alles rund um Datenbanken

Db Dump via SSH

mysqldump -uadmin -p`cat /etc/psa/.psa.shadow` hierdbname > /var/www/vhosts/hierdiedomain/httpdocs/hierderneuedbname.sql

Datenbank kopieren

cp -a /mnt/var/lib/mysql-gzdumps/#####.sql.gz /tmp/ && gunzip /tmp/####.sql.gz

Datenbank wiederherstellen

mysql -uadmin -p`cat /etc/psa/.psa.shadow` ##### < /tmp/####.sql

alte, entpackte Datenbank löschen

rm -f tmp/####.sql

Arbeiten auf dem Datenbankserver via SSH

Im Prinzip muss man nicht häufig via SSH auf den Datenbankserver zugreifen, da wir dies zumeist bequem über Plesk lösen. Jedoch gibt es die Möglichkeit, hier schnell und gezielt Informationen zu erhalten oder umzusetzen.

Öffnen einer Sitzung:

plesk db

Ausgabe:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 489180
Server version: 10.2.26-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Innerhalb der Datenbanksitzung ändert sich die Eingabeaufforderung zu folgender Ansicht
MariaDB [psa]>

Ein einfacher Befehl könnte nun z.B. lauten:

Alle Datenbanken auf dem Server auflisten

MariaDB [psa]> show databases;

Beachte: der Befehl wird mit einem Semikolon (;) beendet

Ein etwas komplexerer Befehl zum Anzeigen bestimmter Parameter

Auflisten aller verwendeter SQL Modi

MariaDB [psa]> SELECT @@SQL_MODE, @@GLOBAL.SQL_MODE;

Beenden der Datenbanksitzung

MariaDB [psa]> exit

Alles rund um LOGS

Wo sind welche Logs

Maillog
cat /var/log/maillog | grep postfach@domain.tld
Ftplog - Logins
cat /var/log/secure | grep ftpuser
Ftplog - Transfer
cat /var/log/plesk/xferlog | grep ftpuser

Logging Reparieren

Sofern div. Prozesse / Befehle ( screen/weget/usw )nicht ordnungsgemäß durchlaufen.
rm -rf /var/log/journal/*
nach dem Löschen ist ein reboot unumgänglich

LOG Live überprüfen

watch 'tail -n 20 /var/log/maillog'

FTP Log überprüfen

cat /var/log/secure | grep hierderuser

Zugriffe von Bots sortieren

cat /var/www/vhosts/system/hierdiedomain/logs/access_log.processed | grep bot | awk -F\" '{print $6}' | sort | uniq -c | sort -n

Ordner für Statistiken neu anlegen

/usr/local/psa/admin/sbin/relink-vhost-logs --domain-name andreaskaser.wwwXX.hostkraft.de --sys-user-login andreaskaser --create

Nützliches

Farbe der SSH Sitzung ändern

printf '\e[38;5;34m Foreground color: green\n'

Passwörter von Postfächern auslesen

/usr/local/psa/admin/bin/mail_auth_view | grep 'domain.tld'

IP auslesen aus mehrfacher Anzeige

ip a | grep "venet0:0" | awk '{print $4}'
"ip a" als Grundbefehl , "grep" auf den zutreffensten Ausdruck der jeweilgen Zeile , "awk" hier auf den 4 Asudruck den geGREPten Zeile