Berechtigungen schnell ändern (Ordner und Dateien)

Hallo Leute,

heute ist es mir passiert, ich wollte eigentlich nur kurz die Berechtigung eines Ordners auf 777 ändern, habe aber in meiner Schusseligkeit folgenden Befehl ausgehührt:

chmod -R 777

das ist natürlich alles andere als Optimal, gerade wenn es sich bei dem Ordner um eine WordPress Instanz handelt :D – nicht dieser Blog, keine Sorge :D

Da es unter Linux keinen “Zurück” Button gibt und ich natülich nicht jeden Ordner und jede Datei einzeln bearbeiten möchte gibt es hier einen kleinen Trick wenn ihr mal bei viele Datein und Ordner gleichzeitg die Berechtigung ändern müsst:

find /srv/vhosts/wordpress-instanz -type f -print0 | xargs -I {} -0 chmod 0644 {}

Dieser Befehl ändert die Berechtigung aller Datein in dem Verzeichnis “/srv/vhosts/wordpress-instanz” sowie deren Unterordneren auf 664.

find /srv/vhosts/wordpress-instanz -type d -print0 | xargs -I {} -0 chmod 0755 {}

der Zweite Befehl sucht alle Ordner und Unterordner und änderte die Berechtigung auf 755.

Zum Einsatz kommt einfach der “find” Befehl (hier von Alf näher erläutert) und wird dann mit “xargs” weiterverarbeitet.

Innerhalb von wenigen Sekunden war somit mein blöder Fehler wieder behoben und alles war beim Alten, hoffe wir mal nicht das mir das “-R” bei einem “rm” Befehl reinrutscht :)

peace
LEWIS

Viele Datein löschen, der schnellste Weg

Hallo Leute,

hin und wieder muss man Ordner mit unzähligen Dateien löschen, in meinem aktuellen Fall hatte ich einen Ordner mit über 450.000 Dateien.

Zu Beginn hatte ich mir nicht viel dabei gedacht und machte wie gewohnt:

rm -f *

Das Problem kam nach ca. 13 Minuten:

-bash: /bin/rm: Argument list too long

rm konnte nicht so viele Dateien löschen, noch dazu war rm sehr langsam dabei. Am Ende waren noch mehr als die Hälfte der Datein vorhanden.

Ich beschloss also einen Test aufzustellen um zu schauen, mit welchem Befehl man 450.000 Dateien am schnellste löschen kann.

Ich erstelle also 450.000 kleine Dateien zum testen:

for i in $(seq 1 450000); do echo hello world >> $i.txt; done

danach probierte ich folgende Methoden:

  • rm (mit Fehler abgebrochen)
  • find ./ -type f -exec rm {} \; (ca. 12 Minuten)
  • find ./ -type f -delete (ca. 4 Minunten)
  • rsync -a –delete blankdir/ testdir/ (ca 3 Minuten)

Der schnellste Weg viele Dateien auf einmal zu löschen ist also rsync! Wer hätte das gedacht :)

Beim nächsten Mal verwendet also rsync wenn ihr viele Dateien entsorgen müsst.

peace
LEWIS

ethstatus

Ethstatus ähnelt dem tool iptraf, allerdings ist es mit ethstatus möglich, den Netzwerkverkehr “grafisch” in der Konsole anzeigen zu lassen.

Das schaut dann in etwa so aus:

ethstatus

Bevor man mit ethstatus arbeiten kann, muss es zuerst noch installiert werden:

apt-get install ethstatus

oder

aptitude install ethstatus

Jetzt kann gibt man einfach diesen Befehl ein, und schon wird eine Übersicht angezeigt.

ethstatus -i eth0

Natürlich gibt es auch noch Optionen zum einstellen, allerdings nicht sehr viele:

Gibt an, welches Interfaces angezeigt werden soll. Wählt man kein Interface, wird standardmässig eth0 verwendet.

ethstatus -i eth0

Wählt den Videomodus:

ethstatus -v vga

Mögliche Angaben sind vga und mono. Mono wird für die seltenen monochrom Monitore benötigt.

Setzt die maximale Netzwerkgeschwindigkeit:

ethstatus -s 10

Mögliche Angaben:

  10  => 10 Mbps
 100  =>100 Mbps
  64  => 64 kbps
 128  =>128 kbps
 256  =>256 kbps
 768  =>768 kbps
1540  =1540 kbps

Setzt die maximal Netwerkgeschwindigkeit in Bit per Sekunde:

ethstatus -S 64k

Mögliche Angaben sind jeder Wert mit der Angabe einer Modifikation wie kilo (k), mega (m) und giga (g).

 64k
100m
  1g

Seid gegrüßt
Alf