|
Zippen aller Dateien in einem Verzeichnis
for f in `find . -name '*'`; do zip -j ${f%.*}.zip $f; done
Linux Umgebungsvariable dauerhaft setzen
In /etc/ eine Datei names profile.local anlegen mit folgendem Inhalt (je nach Variable).
export VARNAME =VALUE
Anmerkung: RedHat?kennt keine?profile.local. So machen Sie diese unter RedHat bekannt:
echo "test -s /etc/profile.local && . /etc/profile.local" >> /etc/profile
awk
Mit awk kann man innerhalb einer?Zeile Textstellen isolieren. In diesem Beispiel wird das access_log ausgegeben und mit Pipe an awk übergeben. awk splittet die Zeile an den Leerzeichen (andere Zeichen können ebenfalls als Trenner fungieren)?und gibt per print das 11. Element aus. Dies lässt sich dann noch weiter eingrenzen in dem nur Zeile mit http ausgegeben werden. Die zweite Zeile demonstriert wie man z.B. Zahlwerte aufsummieren kann.
cat access_log | awk -F ' ' '{print $11}' | grep http awk -F ' ' '{sum += $3} END {print sum}'
awk und sed
Mit dem Stream Editor sed k?nnen Sie per regular Expression Strings bearbeiten, z.B. Passagen ersetzen. Beispiel (hier werden einfache Hochkommats mehrfach entfernt):
awk -F , {'print $8'} | sed s/\'//g
Treeview auf der Shell
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ ? /' -e 's/-/|/'
Postfix
Postfix-Version rausfinden:
postconf -d mail_version
Mail-Queue Analyse
Wieviele verschickte Mails warten in der Queue und für welche Domains (sortiert nach den Top15):
mailq | grep @ | awk -F @ {'print $2'} | sort | uniq -c | sort -r | head -n 15
Mails einer bestimmt Domain aus der Queue löschen:
mailq | tail +2 | awk ?'BEGIN { RS = "" } / .*@bsp\.de$/ { print $1 } ' | tr -d '*!' | \ postsuper -d -
Check, ob der SMTP Port erreichbar ist
telnet 192.168.1.1 25
Weitere Tipps zu Mail unter GNU/Linux gibt es hier.
SUSE Version herausfinden
Es gibt auf SuSE Installationen eine Text-Datei namens "info". So finden Sie die Datei:
find / -name 'info'
Auf der SuSE 8.0 liegt die Datei z.B. unter:
/var/adm/current_package_descr/suse/setup/descr/info
Da drin steht ne ganze Menge und unter anderem eben auch die Distributionsversion.
SuSEfirewall am Limit? ip_conntrack_max hochsetzen
Wenn im messages Log steht, das ip_conntrack_max am Limit ist, dann ist es höchste Zeit den Wert in /proc/sys/net/ipv4/ip_conntrack_max hochzuregeln. Ansonsten bremst Ihre Firewall massiv den Webauftritt aus.
Wenn Sie allerdings den Wert direkt in dieser Datei bearbeiten und dann die Firewall neu starten oder den Rechner neu booten steht wieder der alte Wert z.B. 16384 drin. Um dies zu vermeiden bearbeiten Sie die Datei:
/sbin/SuSEfirewall2
Hier gibt es eine Zeile:
echo 16384 > /proc/sys/net/ipv4/ip_conntrack_max
Diese kann man einfach in folgendes ändern:
echo 65536 > /proc/sys/net/ipv4/ip_conntrack_max
Die Skripte /etc/init.d/SuSEfirewall2_init, SuSEfirewall2_setup und SuSEfirewall2_final greifen auf die Datei im /sbin Verzeichnis zurück. Damit sollte das Problem gelöst sein.
SSH
Absichern von SSH durch Abschalten des SSH1 Protokolls
Per Default werden meist beide Protokoll-Versionen unterstützt. Sicherer wird SSH durch deaktivieren der alten SSH1-Protokollversion.
In /etc/ssh/sshd_config kann die Protokollversion eingestellt werden: Voreingestellt auf herkömmlichen Servern ist Protocol 1,2. Hier einfach nur auf Protocol 2 ändern.
Außerdem kann in dieser Konfigurationsdatei (/etc/ssh/sshd_config) auch PermitRootLogin auf "No" gesetzt werden. Dies verhindert eine direkte Brute-Force Attacke auf den Root Account.
Anschließend kann mit "/etc/rc.d/sshd restart" der SSH-Daemon neu gestartet werden.
Um per Skript automatisiert verbinden zu können muß noch mit "ssh-keygen -d" auf dem Rechner der verbinden soll (z.B. der Heim-Rechner) eine Datei ~/.ssh/id_dsa.pub angelegt werden und deren Inhalt auf dem Webserver unter dem User z.B. /home/user/.ssh/authorized_keys2 eingefügt werden.
SAPDB / MaxDB per Shell stoppen und starten
Verwenden Sie diese Befehle um die Datenbank per Shell zu stoppen bzw. zu starten. Ersetzen sie PASSWORD durch das dbm Passwort. Dann brauchen Sie hierfür nicht?das Programm DBMGUI verwenden.
Datenbank stoppen:
/opt/sapdb/indep_prog/bin/dbmcli -d DBNAME -u dbm,PASSWORD db_offline
Datenbank starten:
/opt/sapdb/indep_prog/bin/dbmcli -d DBNAME -u dbm,PASSWORD db_warm
HowTo: Delete SAPDB Datenbank
/usr/opt/sapdb/indep_prog/bin/dbmcli -d DBNAME -u dbm,PASSWORD db_drop
|