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

Flattr this!

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

Flattr this!

array-info

Hallo Leute,

ein kleines aber praktisches Command Line Tool ist “array-info”, mit diesem Tool könnt ihr euch den Status eurer RAID Volumen anzeigen lassen sowie Informationen zu euren Logischen Volumen. Momentan untersützt dieses Tool folgende RAID Controller: Compaq IDA und CISS, und MD.

Die Installation erfolgt wie immer mit:

apt-get install array-info

ein Beispiel Befehl um euch die den Status eines MD RAID’s anzeigen zu lassen ist folgender:

array-info -d /dev/md0 --all-drives

Die Ausgabe sieht dann in etwas so aus:

array-info

Alle wichtigen Informationen zu dem RAID Verbund seht ihr auf einem Blick. Ich finde “array-info” auch etwas übersichtlicher als den klassischen

cat /proc/mdstat

Befehl der folgende Ausgabe hat:

 

/proc/mdstat
peace
LEWIS

Flattr this!