RSS Feed

Linux-Befehle für Webmaster

18.12.2008 by naden

Als Webentwickler muss man nicht unbedingt ein Linuxguru sein. Da man aber doch das eine oder andere Mal per Shell auf einem Server zu werkeln hat, habe ich die von mir am meisten benutzten Linux-Befehle zusammengestellt.

Packe ein Verzeichnis inklusive aller Unterverzeichnisse
tar cfz file.tar.gz /www/host.tld

Möchte man die Verzeichnisse cache und logs nicht mit packen, so kann man den Befehl um diese Angabe erweitern.

tar cfz file.tar.gz –exclude logs –exclude cache /www/host.tld

Lösche alle Dateien aus Liste

cat files.txt | xargs rm -f

Alle Dateien, die in files.txt stehen, werden einzeln an den Löschbefehl rm übergeben. Die zusätzliche option -f unterdrückt die Nachfrage ob die Datei wirklich gelöscht werden soll.

Lösche alle *.bak Dateien

find -type f -name “*.bak” | xargs rm -f

find sucht im aktuellen Verzeichnis alle Dateien mit der Dateiendung .bak und schickt sie mittelt einer Pipe und xargs an den Löschbefehl rm.

Lösche alle *.bak Dateien die älter als 14 Tage sind

find ./*.bak -mtime +14 | xargs rm -f

find sucht im aktuellen Verzeichnis alle Dateien mit der Dateiendung .bak, die vor 14 Tagen zum letzen mal geändert wurden und schickt sie an den Löschbefehl rm.

Lösche alle Dateien, die eine Größe von 0 Bytes haben

find . -type f -size 0 | xargs rm -f

find sucht im aktuellen Verzeichnis alle Dateien die 0 Bytes groß sind und schickt sie an den Löschbefehl rm.

Lösche alle Dateien, die eine Größe von weniger als 500 Bytes haben

find . -type f -size -500c | xargs rm -f

Ist der Zahl nach dem Parameter -size ein - vorangestellt, bedeutet das kleiner, ein + bedeutet größer als und kein Vorzeichen genau gleich. Das c hinter der Zahl gibt an, dass es sich um Bytes handelt. Ein b würde für Block stehen, ein k für Kilobytes etc.

Finde alle Dateien, die “STRING” enthalten und schreibe ihre Namen in eine logdatei

find . -type f | xargs grep -l “STRING” > files.txt

Der Parameter -l beim Kommando grep bewirkt, dass nur die Dateinamen der Dateien ausgegeben werden, in denen “STRING” gefunden wurde.

Erstelle ein Verzeichnis und alle übergeordneten Verzeichnisse wenn diese nicht vorhanden sind

mkdir -p /www/domain.tld/httpd/logs

Logdateien beobachten

tail -f /path/logfile.log

Das Kommando tail mit dem zusätzlichen Paramater -f bewirkt, dass sämtliche Änderungen, die in dem zu beobachtenden Logifle stattfinden sofort auf dem Bildschirm angeziet werden.

Programme im Hintergrund arbeiten lassen

Mit screen einen Screen starten, nun das gewünschte Kommand absetzen. Mit der Tastenkombination Strg +a+d verlässt man (detached) den Screen. Mit screen -r öffnet man den Screen wieder. Laufen mehrere Screens, so liefert screen -r eine Liste der laufenden Sessions und mit screen -r ID kann man einen bestimmen Screen wieder aufrufen.

Kommandos mit geänderter Priorität starten
Da Kommandos wie find und grep einen sehr hohen Serverload erzeugen können, macht es oft Sinn, einen Befehl mit einer niedrigeren Priorität starten, indem man dem eigentlichen Kommando nice -10 voranstellt.

Laufenden Kommandos eine neue Priorität zuweisen

Ermittle mit ps au die gewünschte Prozess-ID und setze mit renice -10 PID eine neue Priorität.

Aus Datei Zeile 10 und 17 ausgeben
sed -ne ’10,17p’ datei

Aus Datei Zeilen ausgeben, die mit dem String “10″ beginnen
sed -ne ‘/^10/p’ datei

Uhrzeit und Datum einstellen und mit der Hardwareuhr syncen
date -s “Oct 13, 2009 14:04:05″
hwclock –systohc

Auf der Shell einen pseudo zufälligen 128 bit Token generieren
echo ${RANDOM} | md5sum | gawk ‘{print $1}’

Für alle die weiterlesen wollen hier die Referenzseiten zu den einzelnen Linux-Befehlen:

Wenn du weitere nützliche Linux-Kommandos kennst, schreib einen Kommentar und ich ergänze die Liste.


Keine Kommentare »

Noch keine Kommentare

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>