Hallo liebes Forum, ich erstellte für meinen Vater eine Live-CD, um via dd die Festplatte zurückzuspiegeln. Er ist schon über 60 und ist permanent am basteln und versuchen unter Kubuntu 9.04. Um unabhängig von mir jederzeit ohne Aufwand das System zurückzusetzten, ist diese CD für ihn sehr wertfoll und er nutzt sie regelmäßig. Nach dem Live-CD Start sind lediglich drei Knöpfe auf dem Desktop. Es gibt kein Startmenü, keine Taskleiste oder ähnliches. Folgende Scripte habe ich laut dem dd-Wiki geschrieben. Wie gesagt. Im Prinzip funktioniert es so schon.
1. Archivplatte mounten
sudo mount /dev/sda1 /home/horst/Backup
2. Linux wiederherstellen (restore.sh)
sudo dd if=/home/horst/Backup/ext3.img of=/dev/sdb1 & # startet den dd-Prozess im Hintergrund (das & ist wichtig) ddpid=$! # speichert die Prozess-ID vom dd-Prozess in der Variablen $ddpid while [ "`ps -a | grep $ddpid`" ]; do sudo kill -SIGUSR1 $ddpid; sleep 10; done
3. Linux-Backup (backup.sh)
sudo dd if=/dev/sdb1 of=/home/horst/Backup/ext3.img & # startet den dd-Prozess im Hintergrund (das & ist wichtig) ddpid=$! # speichert die Prozess-ID vom dd-Prozess in der Variablen $ddpid while [ "`ps -a | grep $ddpid`" ]; do sudo kill -SIGUSR1 $ddpid; sleep 10; done
Nun hat die Sache nur einen Hacken. Das Backup ist genauso groß wie die Quelle. Also dachte ich mir, ich nutze ebenfalls aus dem Wiki den Code
sudo dd if=/dev/sdb1 | gzip -9 > /home/horst/Backup/ext3.img.gz
und
sudo gunzip -c /home/horst/Backup/ext3.img.gz | dd of=/dev/sdb1
Auch das funktioniert als einzeiliges Script. Die obigen Zeilen bringen mir während des Backups alle 10 Sekunden einen Status wieviel und mit welcher Schreibgeschwindigkeit wiederhergestellt wird. Aber wenn ich anstatt
sudo dd if=/dev/sdb1 of=/home/horst/Backup/ext3.img & # startet den dd-Prozess im Hintergrund (das & ist wichtig) ddpid=$! # speichert die Prozess-ID vom dd-Prozess in der Variablen $ddpid while [ "`ps -a | grep $ddpid`" ]; do sudo kill -SIGUSR1 $ddpid; sleep 10; done
die gezippte Version einsetzte
sudo dd if=/dev/sdb1 | gzip -9 > /home/horst/Backup/ext3.img.gz & # startet den dd-Prozess im Hintergrund (das & ist wichtig) ddpid=$! # speichert die Prozess-ID vom dd-Prozess in der Variablen $ddpid while [ "`ps -a | grep $ddpid`" ]; do sudo kill -SIGUSR1 $ddpid; sleep 10; done
dann kommt eine Fehlermeldung
/home/horst/scripte/backup-linux.sh: line 4: 5059 Broken pipesudo dd if=/dev/sdb1 5060 User defined signal 1 | gzip -9 > ~/Backup/ext3.img.gz
wie gesagt das backupscript sieht so aus
1 2 3 4 | #!/bin/bash sudo dd if=/dev/sdb1 | gzip -9 > /home/horst/Backup/ext3.img.gz & # startet den dd-Prozess im Hintergrund (das & ist wichtig) ddpid=$! # speichert die Prozess-ID vom dd-Prozess in der Variablen $ddpid while [ "`ps -a | grep $ddpid`" ]; do sudo kill -SIGUSR1 $ddpid; sleep 10; done |
Einfach den Befehl für gzip anstatt die sudo dd if=/dev/sdb1 of=/home/horst/Backup/ext3.img einzusetzten war rein spekulativ, weil ich keinen Plan vom scripten habe... Kann mir einerseits jemand erklären, warum es klemmt und anderer seits eine Lösung sagen, damit es auch bei der gzip-Version einen Stauts ausgibt, wieweit der Rechner ist? Danke für eure Hilfe...