Vielen Dateien eine andere Dateiendung geben

Ab und zu hat man bei der Administration die Aufgabenstellung vielen Datei eine andere Dateiendung zu geben. Hier eine kleine Programmzeile, mit der man diese Aufgabe sehr erleichtern kann. Mit dieser kann man unter Linux oder MacOSX an alle Dateien in einem Verzeichnis die Dateiendung „.pdf“ anhängen.

ls * | cat | while read n; do mv "$n" "$n.pdf"; done

Große Mengen an Dateien per Kommandozeile mit FTP löschen

Eine häufige Aufgabenstellung bei einem Dateitransfer per FTP (File Transfer Protocol) ist das löschen von großen Mengen von Dateien per FTP. Bei einem FTP-Client mit GUI ist dies mit wenigen Klicks gemacht. Wenn man das ganze jedoch per Kommandozeile mit dem Befehlt mdel machen möchte, ist dies mit der Schwierigkeit verbunden, dass der Befehl mdel bei jeder Datei nachfragt, ob er diese wirklich löschen soll. Dies kann bei vielen Dateien sehr anstrengend werden.

Wenn man jetzt nach einem Parameter sucht, der den Befehlt mdel dazu bringt ohne eine Nachfrage alle Dateien zu löschen, wird man nicht fündig. Dies liegt daran, dass es diesen gar nicht gibt.

Man kann das Problem aber dennoch anders lösen. Und zwar in dem man als erstes den Befehlt prompt eingibt. Dieser stellt den „interactive mode“ auf off. Dadurch laufen alle FTP-Befehle ohne Rückfragen oder Rückmeldungen. Somit läuft auch der Befehlt mdel, ohne bei jeder Datei nachzufragen, ob er diese wirklich löschen soll.

Reparatur eines Servers mit Ubuntu oder Debian bei Hetzner

Des öfteren habe ich einen Linux-Server in einem Rechenzentrum der nicht mehr bootet und bei dem man nicht direkt auf den Monitor schauen kann. Bei dem Anbieter Hetzner ist es z.B. so, dass zunächst ein Gerät an den Server angeschlossen werden muss, bevor man das Monitorbild des Servers angezeigt bekommt. Dies dauert etwas länger und man verliert wertvolle Zeit.

Wesentlich schneller ist man bei Hetzner, wenn man das Rescue-System bootet und von diesem aus den Server untersucht. Dazu muss man nur über die Management-Webseite von Hetzner das Rescue-System aktivieren und den Server rebooten.

Im folgenden habe ich mir ein paar nützliche Befehle notieret, mit denen man im Rescue-System den Server untersuchen und reparieren kann. Damit habe ich diese im Notfall immer schnell zur Hand und muss nicht lange im Wiki von Hetzner suchen.

Überprüfung des RAID (Plattenspiegelung)
mit dem Befehl cat /proc/mdstat kann man sich den Status des RAID-Systems ausgeben lassen. Dies ausgäbe sollte dann wie folgt aussehen, wenn alles o.k. ist.

root@rescue ~ $ cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sda3[0] sdb3[1]
      1936077760 blocks super 1.2 [2/2] [UU]
 
md1 : active raid1 sda2[0] sdb2[1]
      523968 blocks super 1.2 [2/2] [UU]
 
md0 : active raid1 sda1[0] sdb1[1]
      16768896 blocks super 1.2 [2/2] [UU]

Filesystem-Check
Mit dem Befehlt fsck /dev/md1 und fsck /dev/md2 kann man dann die Filesysteme prüfen lassen. Wenn diese heil sind, sollte die Ausgabe wie folgt aussehen.

root@rescue ~ $ fsck /dev/md1
fsck from util-linux 2.25.2
e2fsck 1.42.12 (29-Aug-2014)
/dev/md1: recovering journal
/dev/md1: clean, 313/131072 files, 125273/523968 blocks
root@rescue ~ $ fsck /dev/md2
fsck from util-linux 2.25.2
e2fsck 1.42.12 (29-Aug-2014)
/dev/md2: recovering journal
Setting free blocks count to 440126453 (was 440126531)
/dev/md2: clean, 5444918/121012224 files, 43892987/484019440 blocks

Erneutes schreiben des Boot-Blocks
Oft ist auch nur der Boot-Block auf der Festplatte nicht vorhanden, oder beschädigt. Mit den folgenden Befehlen kann man diesen neu schreiben.

mount /dev/md2 /mnt
mount /dev/md1 /mnt/boot
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys
mount -t proc /proc /mnt/proc
cp /proc/mounts /mnt/etc/mtab
chroot /mnt /bin/bash
grub-install /dev/sda
grub-install /dev/sdb
grub-install --recheck /dev/sda
grub-install --recheck /dev/sdb
mkdir /run/lock
cp /proc/mounts /etc/mtab
update-grub