Angepinnt FAQ - Festplatte tauschen, Daten kopieren/klonen

    • FAQ - Festplatte tauschen, Daten kopieren/klonen

      Nachdem es immer wieder die abenteuerlichsten Vorschläge gibt wie man die Aufnahmen/Daten von einer Festplatte in der Dreambox auf eine andere, größere Platte kopiert hier eine Anleitung wie man das auf der Box mit Boardmitteln erledigen kann.

      Voraussetzung ist, dass man zwei Festplatten/SSDs gleichzeitig an die Box anschließen kann. In der DM7080 kann man auch zwei 2,5" Speichergeräte intern verbauen, bei allen anderen muss die zweite Platte extern über USB3.0 oder eSATA (DM820HD) angeschlossen werden. Dafür kann man ein externes 3,5" USB3.0 Gehäuse verwenden (in dem Gehäuse lassen sich auch 2,5" Speichergeräte temporär betreiben) oder eine USB3.0 Dockingstation oder für 2,5" Speichergeräte ein USB3.0/SATA Adapter ohne Gehäuse für 10-15 Euro.

      Im Grunde sind es 4 Schritte - egal ob man die Daten später lokal oder über das Netzwerk über FTP oder NFS share kopiert

      1. bestehendes Speichergerät sauber aus dem System entfernen
      2. neues Speichergerät einbauen und einrichten
      3. altes Speichergerät extern anschließen und mounten
      4. Daten mit cp, rsync, ftp etc. kopieren (Große Datenmengen über die GUI mit z.B. DreamExplorer oder EMC kopieren empfehle ich nicht)
      5. Kontrolle
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Fred Bogus Trumper ()

    • Informationen über das bestehende Speichergerät

      Um das aktuell verbaute Speichergerät zu prüfen, geht man in den Speichergeräte Manager: Menü -> Einstellungen -> Geräte -> Speichergeräte

      Es ist eine 1TB Platte WDC WD10JPCX verbaut und nach /media/hdd gemountet



      Wenn man nochmal mit OK bestätigt sieht man die Partitonen und Einhängepunkte
      Es gibt 2 Partitionen. Die Datenpartiton /dev/sda1 und die Swap Partition /dev/sda1



      In den Settings sieht das so aus - kann übersprungen werden, dient für das spätere Verständnis

      grep storage /etc/enigma2/settings

      Quellcode

      1. root@dm920:~$ grep storage /etc/enigma2/settings
      2. config.storage_options.default_device=1fe4aa18-79f1-438d-962e-66c7825bb744
      3. config.storage.80222f27-065e-45fc-804c-f1927699443c.mountpoint=
      4. config.storage.80222f27-065e-45fc-804c-f1927699443c.device_info=SATA
      5. config.storage.80222f27-065e-45fc-804c-f1927699443c.device_description=WDC WD10JPCX-24UE4T0 (1 TB)
      6. config.storage.80222f27-065e-45fc-804c-f1927699443c.enabled=false
      7. config.storage.80222f27-065e-45fc-804c-f1927699443c.isRemovable=false
      8. config.storage.1fe4aa18-79f1-438d-962e-66c7825bb744.mountpoint=/media/hdd
      9. config.storage.1fe4aa18-79f1-438d-962e-66c7825bb744.device_info=SATA
      10. config.storage.1fe4aa18-79f1-438d-962e-66c7825bb744.device_description=WDC WD10JPCX-24UE4T0 (1 TB)
      11. config.storage.1fe4aa18-79f1-438d-962e-66c7825bb744.enabled=true
      12. config.storage.1fe4aa18-79f1-438d-962e-66c7825bb744.isRemovable=false
      13. root@dm920:~$
      Alles anzeigen



      Der Einhängepunkt wird in der /etc/fstab hinterlegt, gemount wird über die UUID
      grep /media/hdd /etc/fstab

      Quellcode

      1. root@dm920:~$ grep /media/hdd /etc/fstab
      2. /dev/disk/by-uuid/1fe4aa18-79f1-438d-962e-66c7825bb744 /media/hdd auto auto,nofail 0 0
      3. root@dm920:~$
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Fred Bogus Trumper ()

    • bestehendes Speichergerät sauber aus dem System entfernen


      Man geht in den Gerätemänger, wählt das gewünschte Speichergerät mit OK aus, wählt die Partition die aus dem System entfernt werden soll mit OK aus und wählt Festplatte "aushängen" - damit wird die Partition ausgehängt und aus dem System entfernt. D.h. die Partition wird nicht mehr automatisch beim Start gemountet. "Auswerfen" bewirkt, dass die Partiton temporär ausgehängt (umounted) wird aber spätestestens beim nächsten Neustart wieder eingebunden wird



      Im System sieht das nun so aus:



      am Screenshot sieht man dass kein Einhängepunkt mehr zugwiesen ist, also nicht automatisch beim Start der Box eingehängt wird


      In den settings wurde der Einhängepunkt entfert und das Standard Aufnahmegerät (default_device) wurde auf undefined geändert

      grep storage /etc/enigma2/settings

      Quellcode

      1. root@dm920:~$ grep storage /etc/enigma2/settings
      2. config.storage_options.default_device=<undefined>
      3. config.storage.80222f27-065e-45fc-804c-f1927699443c.mountpoint=
      4. config.storage.80222f27-065e-45fc-804c-f1927699443c.device_info=SATA
      5. config.storage.80222f27-065e-45fc-804c-f1927699443c.device_description=WDC WD10JPCX-24UE4T0 (1 TB)
      6. config.storage.80222f27-065e-45fc-804c-f1927699443c.enabled=false
      7. config.storage.80222f27-065e-45fc-804c-f1927699443c.isRemovable=false
      8. config.storage.1fe4aa18-79f1-438d-962e-66c7825bb744.mountpoint=
      9. config.storage.1fe4aa18-79f1-438d-962e-66c7825bb744.device_info=SATA
      10. config.storage.1fe4aa18-79f1-438d-962e-66c7825bb744.device_description=WDC WD10JPCX-24UE4T0 (1 TB)
      11. config.storage.1fe4aa18-79f1-438d-962e-66c7825bb744.enabled=false
      12. config.storage.1fe4aa18-79f1-438d-962e-66c7825bb744.isRemovable=false
      13. root@dm920:~$
      Alles anzeigen




      Auch in der fstab wurde der Einhängepunkt entfernt:

      grep /media/hdd /etc/fstab

      Quellcode

      1. root@dm920:~$ grep /media/hdd /etc/fstab
      2. root@dm920:~$





      Nun kann man die Box runterfahren, das Speichergerät ausbauen und die neue Festplatte oder SSD einbauen und die Box wieder starten.
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Fred Bogus Trumper ()

    • neues Speichergerät einbauen und einrichten

      Nachdem man das neue Speichergerät eingebaut und die Box neu gestartet hat, geht man wieder in den Gerätemanager und initialisiert das neue Speichergerät und weist wieder den Einhängepunkt /media/hdd zu

      im Gerätemanger findet man das neue Speichergerät. Es sind noch keine Partitonen erstellt



      Mit OK oder ROT die Festplatte initialisieren. Dabei werden ALLE Daten gelöscht!





      Nachdem Initialisiren wird die neue Festplatte im besten Fall automatisch nach /media/hdd gemountet und der Ordner movie erstellt




      df -h

      Quellcode

      1. root@dm920:~$ df -h
      2. Filesystem Size Used Available Use% Mounted on
      3. /dev/root 960.4M 424.2M 470.6M 47% /
      4. devtmpfs 491.7M 0 491.7M 0% /dev
      5. tmpfs 499.7M 0 499.7M 0% /dev/shm
      6. tmpfs 499.7M 16.7M 483.0M 3% /run
      7. tmpfs 499.7M 0 499.7M 0% /sys/fs/cgroup
      8. systemd-1 6.1G 14.2M 5.7G 0% /data
      9. tmpfs 499.7M 24.0K 499.6M 0% /var/volatile
      10. tmpfs 499.7M 4.0K 499.7M 0% /tmp
      11. /dev/mmcblk0p3 6.1G 14.2M 5.7G 0% /data
      12. /dev/sda1 1.8T 67.3M 1.8T 0% /media/hdd
      13. root@dm920:~$
      Alles anzeigen



      ls /media/hdd

      Quellcode

      1. root@dm920:~$ ls /media/hdd
      2. lost+found movie
      3. root@dm920:~$



      grep storage /etc/enigma2/settings

      Quellcode

      1. root@dm920:~$ grep storage /etc/enigma2/settings
      2. config.storage_options.default_device=c908e758-5bc1-4698-bc29-522c7b9cd640
      3. config.storage.c908e758-5bc1-4698-bc29-522c7b9cd640.mountpoint=/media/hdd
      4. config.storage.c908e758-5bc1-4698-bc29-522c7b9cd640.device_info=SATA
      5. config.storage.c908e758-5bc1-4698-bc29-522c7b9cd640.device_description=WDC WD20NPVZ-00WFZT0 (2 TB)
      6. config.storage.c908e758-5bc1-4698-bc29-522c7b9cd640.enabled=true
      7. config.storage.c908e758-5bc1-4698-bc29-522c7b9cd640.isRemovable=false
      8. config.storage.6bcff6fb-ff5d-492b-bd4c-b0e01d35fade.mountpoint=
      9. config.storage.6bcff6fb-ff5d-492b-bd4c-b0e01d35fade.device_info=SATA
      10. config.storage.6bcff6fb-ff5d-492b-bd4c-b0e01d35fade.device_description=WDC WD20NPVZ-00WFZT0 (2 TB)
      11. config.storage.6bcff6fb-ff5d-492b-bd4c-b0e01d35fade.enabled=false
      12. config.storage.6bcff6fb-ff5d-492b-bd4c-b0e01d35fade.isRemovable=false
      13. root@dm920:~$
      Alles anzeigen



      grep /media/hdd /etc/fstab

      Quellcode

      1. root@dm920:~$ grep /media/hdd /etc/fstab
      2. /dev/disk/by-uuid/c908e758-5bc1-4698-bc29-522c7b9cd640 /media/hdd auto auto,nofail 0 0
      3. root@dm920:~$



      Am wenigsten Probleme hat man, wenn das neue Speichergerät weder einen MBR/GPT bzw. eine Partion hat. Es gibt oft Probleme mit bestehenden unter Windows erstellten NTFS Partitonen. Am besten man löscht den MBR/GPT und die Partitonstabelle vorab mit dd oder eParted - dann hat man am wenigsten Probleme. Aber das würde hier den Rahmen sprengen. Mehr dazu findet man hier: Festplatten initialisierung / Probleme
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Fred Bogus Trumper ()

    • altes Speichergerät extern anschließen und mounten


      Nachdem man das neue Speichergerät eingebaut und eingerichtet hat kann man die Daten vom alten Speichergerät auf das Neue kopieren. Wenn man die Daten zuvor per FTP auf den Windows PC kopiert hat man sie nun auf die neu wieder per FTP übertragen.

      Man will sich aber diesen Umweg ersparen oder hat zuweinig Platz am PC oder kein freies Laufwerk für die Kopie und will nun lokal auf der Box kopieren.


      Man schließt das alte Speichergerät in einem externen Gehäuse oder an einem SATA/USB3.0 Adapter an die Dreambox. Ein Gehäuse mit aktiver Stromversorgung ist wenn möglich vorzuziehen.

      Im Gerätemanager sind nun beide Speichergeräte zu finden. Der Platte am USB Port ist zwar kein Einhängepunkt zugewiesen, aber die 1. Partion wurde in dem Fall automatisch über autofs nach /media/sdb1 gemountet. Der Einhängepunkt wird dabei automatisch erstellt, machmal wird er der Gerätename genommen, z.b. /autofs/JPCX24UE4T0






      Man hat nun 3 Möglichkeiten
      1. man verwendet den automatischen Einhängepunkt für das Kopieren der Daten, was ich aber nicht empfehle
      2. man hängt die Platte über Gerätemanager ein und weisst einen Einhängepunkt manuell zu. Das wäre zu empfehlen, wenn die externe Platte immer wieder angeschlossen wird
      3. oder man mounted über das Terminal, weil man das Speichergerät nur noch 1x für die Kopie verwendet



      Einhängen über den Gerätemanager:

      Man wählt die externe Platte aus und weißt manuell einen Einhängepunkt aus. Manchmal wird gemeldet, dass ein unterstütztes Dateisystem gefunden wurde, obwohl sich eine ext3 oder ext4 Partitionen auf dem Speichergerät befindet. Das ist ein Bug im Gerätemanager. Einfach ignorieren und die Partiton im Terminal manuell mounten oder einfach mal die Box neu starten und das externe Gerät nach dem Start anschließen.

      Wenn die Partition im Geräte Manger erkannt wird manuell einhängen. Dazu muss ein "mountpoint" also ein Einhängepunkt bzw. Ordner am besten in /media ausgewählt werden. Man kann einen bestehen Ordner auswählen oder im Gerätemanager neu erstellen.













      Man kann den vorgeschlagenen Ordnernamen mit GRÜEN bestäten oder einen Einhängepunkt manuell auswählen bzw. erstellen
      Ich erstelle dafür den Ordner /media/hdd-ext für extern

      Zeichen löschen kann man mit der Taste < auf der FB, vorab mit > ans Zeilenende springen.






      Mit GRÜN speichern und bestätigen


      mit df -h müsste man nun sehen das beide Platten gemountet sind - die interne nach /media/hdd die externe nach /media/hdd-ext



      df -h

      Quellcode

      1. root@dm920:~$ df -h
      2. Filesystem Size Used Available Use% Mounted on
      3. /dev/root 960.4M 424.2M 470.6M 47% /
      4. devtmpfs 491.7M 0 491.7M 0% /dev
      5. tmpfs 499.7M 0 499.7M 0% /dev/shm
      6. tmpfs 499.7M 24.7M 475.0M 5% /run
      7. tmpfs 499.7M 0 499.7M 0% /sys/fs/cgroup
      8. systemd-1 6.1G 14.2M 5.7G 0% /data
      9. tmpfs 499.7M 20.0K 499.6M 0% /var/volatile
      10. tmpfs 499.7M 4.0K 499.7M 0% /tmp
      11. /dev/sda1 1.8T 67.3M 1.8T 0% /media/hdd
      12. /dev/mmcblk0p3 6.1G 14.2M 5.7G 0% /data
      13. /dev/sdb1 915.8G 857.2G 12.1G 99% /media/hdd-ext
      14. root@dm920:~$
      Alles anzeigen




      Manuell im Terminal mounten

      Wenn man den Gerätemanager aussen vor lassen will, weil man das alte Speichergerät nur noch für die Kopie benötigt, kann man das einfach in der Konsole erledigen


      Angeschlossene Speichergeräte anzeigen, mit lsblk -S werden nur blockdevices angezeigt, also weder der flash noch eine etwaige SD Card

      Quellcode

      1. root@dm920:~$ lsblk -S
      2. NAME HCTL TYPE VENDOR MODEL REV TRAN
      3. sda 0:0:0:0 disk ATA WDC WD20NPVZ-00W 01.0 sata
      4. sdb 2:0:0:0 disk WDC WD10 JPCX-24UE4T0 8104 usb
      5. root@dm920:~$
      sda ist die interne neue 2TB Platte - hängt am sata port
      sdb ist die externe alte 1TB Platte - hängt am usb port



      die Partitionen und Einhängepunkte (wenn gemountet) sieht man mit z.B. lsblk -fp /dev/sd?

      Quellcode

      1. root@dm920:~$ lsblk -fp /dev/sd?
      2. NAME FSTYPE LABEL UUID MOUNTPOINT
      3. /dev/sda
      4. ├─/dev/sda1 ext4 dreambox-storage c908e758-5bc1-4698-bc29-522c7b9cd640 /media/hdd
      5. └─/dev/sda2 swap 6bcff6fb-ff5d-492b-bd4c-b0e01d35fade
      6. /dev/sdb
      7. ├─/dev/sdb1 ext4 dreambox-storage 1fe4aa18-79f1-438d-962e-66c7825bb744
      8. └─/dev/sdb2 swap 80222f27-065e-45fc-804c-f1927699443c
      9. root@dm920:~$
      /dev/sda1 - die erste Partiton der internen sata Platte ist bereits nach /media/hdd eingehängt
      /dev/sdb1 - die erte Partition der externen usb Platte ist nicht gemountet



      Man erstellt einen Einhängepunkt - in dem Fall wieder /media/hdd-ext - und mountet die Partition der externen Platte manuell

      mkdir -p /media/hdd-ext
      mount /dev/sdb1 /media/hdd-ext


      mit df -h[/i] oder lsblk -fp /dev/sd? kann man das nocheinmal überprüfen

      Quellcode

      1. root@dm920:~$ df -h
      2. Filesystem Size Used Available Use% Mounted on
      3. /dev/root 960.4M 424.2M 470.6M 47% /
      4. devtmpfs 491.7M 0 491.7M 0% /dev
      5. tmpfs 499.7M 0 499.7M 0% /dev/shm
      6. tmpfs 499.7M 24.7M 475.0M 5% /run
      7. tmpfs 499.7M 0 499.7M 0% /sys/fs/cgroup
      8. systemd-1 6.1G 14.2M 5.7G 0% /data
      9. tmpfs 499.7M 20.0K 499.6M 0% /var/volatile
      10. tmpfs 499.7M 4.0K 499.7M 0% /tmp
      11. /dev/sda1 1.8T 67.3M 1.8T 0% /media/hdd
      12. /dev/mmcblk0p3 6.1G 14.2M 5.7G 0% /data
      13. /dev/sdb1 915.8G 857.2G 12.1G 99% /media/hdd-ext
      14. root@dm920:~$ lsblk -fp /dev/sd?
      15. NAME FSTYPE LABEL UUID MOUNTPOINT
      16. /dev/sda
      17. ├─/dev/sda1 ext4 dreambox-storage c908e758-5bc1-4698-bc29-522c7b9cd640 /media/hdd
      18. └─/dev/sda2 swap 6bcff6fb-ff5d-492b-bd4c-b0e01d35fade
      19. /dev/sdb
      20. ├─/dev/sdb1 ext4 dreambox-storage 1fe4aa18-79f1-438d-962e-66c7825bb744 /media/hdd-ext
      21. └─/dev/sdb2 swap 80222f27-065e-45fc-804c-f1927699443c
      22. root@dm920:~$
      Alles anzeigen



      man kann auch für temporäre mounts den Ordner /mnt verwenden. Üblicherweise wird dort nichts gemountet und ist eben für temporäre mounts gedacht. Wenn es diesen Ordner nicht gibt, kann man ihn auch maneull erstellen

      mkdir /mnt

      Jetzt sollte alles vorbereitet sein um die Daten von der alten Platte auf die Neue zu kopieren
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Fred Bogus Trumper ()

    • Daten kopieren

      Jetzt kommen wir zum eigentlichen Thema dieses Threads: die Daten vom alten auf das neue Speichergerät kopieren.

      Das Kopieren über die GUI mit EMC oder DreamExplorer empfehle ich nicht. Bei großen Datenmengen wird die Box sehr ausgelastet. Wenn Enigma2 abstürzt oder freezed wird auch der Kopiervorgang abgebrochen. Wenn man den Kopiervorgang in der Konsole startet läuft dieser unabhängig von Enigma2, braucht weniger Resourcen und der Kopiervorgang läuft auch weiter wenn Enigma2 crashen sollte.


      Für das Terminal werden immer wieder die abenteuerlichsten Commands mit den Programmen cp, rsync und dd gepostet. Hier kurz der Unterschied

      cp
      der Befehl cp (für copy) kopiert stur von A nach B, Dateien mit dem gleichen Namen werden ohne Rückfrage überschrieben
      es wird alles kopiert was im Quellordner ausgewählt wird


      rsync
      Das Progromm rsync ist wesentlich intelligenter und eigentlich ein Programm um Daten lokal oder übers Netzwerk abzugleichen. D.h. man kann damit inkrementelle Backups erstellen.
      Man kann per Optionen angeben, dass z.B. nur die Dateien kopiert werden sollen, die im Zielordner nicht vorhanden sind und neuer als die Dateien im Zielordner sind, gelöschte Ordner im Quellordner sollen - wenn vorhanden - auch im Zielordner gelöscht werden usw. Im Gegensatz zu cp werden dann nur die Datein kopiert die relevant sind - cp kopiert stur alles. Im Gegensatz dazu ist rsync komplizierter zu bedienen als cp.


      dd
      das Programm dd arbeitet im Gegensatz zu cp und rsync auch auf Blockebene und nicht nur auf Dateisystemebene. MIt dd kann man Festplatten, Partitonen aber auch Dateien 1:1 inkl. MBR/GPT, Partitonstabellen, UUIDs Label, Dateisystemfehler etc. klonen.
      d.h. man mit dd ein Klon der Quellplatte erstellen - entweder auf eine andere mind. gleich großes Speichergerät oder in eine Datei. Das macht aber eventuell nur Sinn, wenn man auf die Daten auf der Quellplatte nicht mehr zugreifen kann und das Dateisystem nicht noch mehr beschädigen möchte usw.


      In diesem Thread will man nur die Daten von der alten Festplatte auf die Neue kopieren. Für diesen Zweck ist cp mehr als ausreichend und zudem schneller als rsync. Deshalb beschreibe ich nur das Kopieren mit cp.


      In diesem Beispiel liegen die zu kopierenden Daten auf der externen Platte die nach /media/hdd-ext gemountet ist und sollen auf die neue, nun interne Platte, die nach /media/hdd gemountet ist, kopiert werden.
      Vorzugsweise soll mindestens gleich viel oder mehr freier Speicher auf den neuen Platte verfügbar sein als auf der alten (extern) eingenommen wird ;)

      Quellcode

      1. root@dm920:~$ df -h /media/hdd*
      2. Filesystem Size Used Available Use% Mounted on
      3. /dev/sda1 1.8T 67.3M 1.8T 0% /media/hdd
      4. /dev/sdb1 915.8G 857.2G 12.1G 99% /media/hdd-ext
      5. /dev/root 960.4M 427.6M 467.2M 48% /
      6. root@dm920:~$
      Die neue interne Platte hat ca. 1,8TB freien Speicher und ist nach /media/hdd gemountet
      die alte nun externe Platte hat ca. 916GB Daten und 12GB frei



      Nun kopieren wir die Daten in einem Hintergrundprozess über das Terminal. Der Vorteil dabei ist, dass man die telenet/ssh Session beenden und auch den PC runterfahren kann. Je nach Datenmenge dauert der Kopiervorgang mehrere Stunden


      alles was auf der alten Platte liegt soll auf die Neue übertragen werden

      nohup cp -a /media/hdd-ext/* /media/hdd &


      es soll z.B. nur der movie Ordner kopiert werden

      nohup cp -a /media/hdd-ext/movie /media/hdd &


      In diesem Beispiel kopieren wir alles in /media/hdd-ext nach /media/hdd

      Nach Eingabe des Befehles noch einmal [ENTER] drücken, dass sieht dann so aus

      Quellcode

      1. root@dm920:~$ nohup cp -a /media/hdd-ext/* /media/hdd &
      2. [1] 1075
      3. root@dm920:~$ nohup: appending output to nohup.out
      4. root@dm920:~$

      der Kopierprozess läuft jetzt im Hintergrund mit der Prozess ID 1075 (pid) - man kann das Terminal verlassen, der Kopiervorgang läuft weiter
      Wenn man das nohup am Anfang und das & am Ende weglässt, wird der Kopiervorgang im aktiven Terminal gestartet. Beendet man die Session wird auch der Kopiervorgang abgebrochen




      prüfen ob der Prozess (noch) läuft

      dafür gibt es mehrere Möglichkeiten - z.B. mit den Programmen ps und/oder pgrep


      ps -aux|grep cp
      man sieht hier auch wieder die Prozess ID und den eingegebenen Befehl (sowie die Prozess ID des grep Befehles)

      Quellcode

      1. root@dm920:~$ ps -aux|grep cp
      2. root 1075 25.4 0.0 2844 580 pts/0 D 09:31 1:06 cp -a /media/hdd-ext /media/hdd
      3. root 1090 0.0 0.0 2844 544 pts/0 S+ 09:35 0:00 grep cp
      4. root@dm920:~$


      mit pgrep werden nur die Prozess IDs der laufenden Prozesse mit dem Namen cp ausgegben

      Quellcode

      1. root@dm920:~$ pgrep cp
      2. 1075
      3. root@dm920:~$


      mit pgrep -a cp sieht man auch wieder den jeweiligen command:

      Quellcode

      1. root@dm920:~$ pgrep -a cp
      2. 1075 cp -a /media/hdd-ext/* /media/hdd
      3. root@dm920:~$



      Will man aus welchem Grund den Prozess beenden, weil man z.B. den falschen Quell oder Zielpfad angegeben hat, kann man den prozess mit dem Befehl killall wieder beenden

      Quellcode

      1. root@dm920:~$ killall cp
      2. root@dm920:~$ pgrep cp
      3. [1]+ Terminated nohup cp -a /media/hdd-ext/* /media/hdd
      4. root@dm920:~$



      Wie lange der Kopiervorgang dauert hängt von der Datenmenge und der Lese- bzw. Schreibgeschwindigkeit der Speichergeräte ab.

      2,5" Festplatten schreiben im Schnitt ca. mit 80MB/s in den Dreamboxen
      Für 1GB werden ca. 12-13 Sekunden benötigt, für 1TB dann etwa 215 Minuten bzw. 3,5 Stunden (1024*12,5 Sekunden/60/60)

      d.h. nach 3,5 - 4 Stunden kann man mit prgep -cp oder ps -aux|grep cp wieder eine Terminal Session starten und prüfen ob der Prozess noch läuft

      Wenn der Prozess abgeschlossen ist, erscheint keine Ausgabe nach Eingabe des Befehles

      Quellcode

      1. root@dm920:~$ ps -aux|grep cp
      2. root 1129 0.0 0.0 2844 544 pts/0 S+ 09:47 0:00 grep cp
      3. root@dm920:~$ pgrep cp
      4. root@dm920:~$

      die Ausgabe des Befehles ps -aux|grep cp ist der Prozess des grep Befehles (Prozess ID 1129 anstatt 1075)
      das kann man so umgehen:

      Quellcode

      1. root@dm920:~$ ps -aux|grep cp|grep -v grep
      2. root@dm920:~$


      jetzt sollte auch klar sein, warum ich den Befehl pgrep (in diesem Fall) vorziehe ;)
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$

      Dieser Beitrag wurde bereits 10 mal editiert, zuletzt von Fred Bogus Trumper ()

    • Kontrolle


      wenn die in etwa benötigte ausgerechnete Zeit verstrichen ist, verbindet man sich wieder per per ssh/telnet auf die Box und prüft ob der Prozess noch läuft

      Quellcode

      1. root@dm920:~$ pgrep -a cp
      2. 1075 cp -a /media/hdd-ext/* /media/hdd
      3. root@dm920:~$
      Der Kopierprozess läuft noch - also versuchen wir es etwas später nochmal




      Quellcode

      1. root@dm920:~$ pgrep -a cp
      2. root@dm920:~$

      Jezt läuft der Prozess nicht mehr. Um sehen ob alles kopiert wurde oder ob der Prozess vielleicht abgebrochen ist wäre nun auch gut zu wissen



      mit df -h kann man den Speicherverbrauch vergleichen

      Quellcode

      1. root@dm920:~$ df -h /media/hdd*
      2. Filesystem Size Used Available Use% Mounted on
      3. /dev/sda1 1.8T 857.2G 986G 49% /media/hdd
      4. /dev/sdb1 915.8G 857.2G 12.1G 99% /media/hdd-ext
      5. root@dm920:~$

      das sieht gut aus
      mit dem Befehl du kann man den Speicherverbrauch einzelner Ordner auswerten (-m gibt MB aus) - das auslesen kann einige Sekunden dauern!

      Quellcode

      1. root@dm920:~$ du -ms /media/hdd-ext/
      2. 877677 /media/hdd-ext/
      3. root@dm920:~$ du -ms /media/hdd/
      4. 877677 /media/hdd/
      5. root@dm920:~$

      ohne den Schalter für die Speichereinheit werden die Daten in kilobyte ausgegeben

      Quellcode

      1. root@dm920:~$ du -s /media/hdd-ext/
      2. 898741652 /media/hdd-ext/
      3. root@dm920:~$ du -s /media/hdd
      4. 898741652 /media/hdd
      5. root@dm920:~$


      Wenn man ganz sicher gehen will kann man noch die Anzahl der Ordner, Dateien und Symlinks vergleichen. Dafür habe ich ein kleines Helferscript erstellt
      Die Datei im Anhang downloaden, per FTP nach /tmp schieben und mit folgendem Befehl entpacken

      tar vxzf /tmp/diffdir.tar.gz -C /usr/script/


      das Paket coreutils muss installiert sein, sonst spuckt das Script eine Fehlermeldung aus (coreutils liegt am feed)

      apt-get update && apt-get install coreutils



      Man kann bis zu 9 Ordnerinhalte vergleichen in dem man dem Script die Ordnerpfade nacheinander getrennt durch ein Leerzeichen angibt
      also in diesem Fall wollen wir /media/hdd-ext und /media/hdd vergleichen

      Quellcode

      1. root@dm920:~$ /usr/script/diffdir.sh /media/hdd-ext/ /media/hdd
      2. /media/hdd-ext/:
      3. used space of /media/hdd-ext/: 920304907218 bytes ( 858G )
      4. directories, files and symbolic links in /media/hdd-ext/:
      5. directories: 44
      6. files: 2266
      7. symbolic links: 11
      8. /media/hdd:
      9. used space of /media/hdd: 920304907212 bytes ( 858G )
      10. directories, files and symbolic links in /media/hdd:
      11. directories: 44
      12. files: 2266
      13. symbolic links: 11
      14. root@dm920:~$
      Alles anzeigen

      Die Anzahl der Ordner, Dateien und Symbolischen links ist auf beiden Platte ident, die verbrauchten bytes weichen etwas ab
      wenn hier ein paar bytes abweichen ist das normal, weil auch ein ext Dateisystem fragmentiert sein kann


      Wenn alles korrekt kopiert wurd kann man die externe Platte wieder über den Gerätemanger oder im Terminal aushängen (und entfernen)

      umount /media/hdd-ext
      Dateien
      • diffdir.tar.gz

        (697 Byte, 109 mal heruntergeladen, zuletzt: )
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$

      Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von Fred Bogus Trumper ()