Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Backup auf NFS Mount

  • Ersteller Ersteller Gelöschtes Mitglied 494085
  • Erstellt am Erstellt am
  • Schlagworte mount nfs
G

Gelöschtes Mitglied 494085

Guest
Hallo zusammen,

habe mir überlegt das Image meines BBB regelmäßig auf ein NFS Mount zu sichern. Das Problem ist einfach, dass erst ein Backup von eMMC auf eine microSD gemacht werden muss und dann von der microSD auf meinen Mac. Schlussendlich hatte ich nach einem relativ aufwändigen Prozedere ein ca. 8GB großes Image (Größe der microSD) auf dem Mac. Irgendwie nicht so das gelbe vom Ei.

Und los gehts:


  • NFS Freigabe von NAS nach /mnt/beaglebone gemountet
  • Verzeichnisstruktur
    • /mnt/beaglebone/
      • scripts
      • backup
      • log
  • crontab für das Script

scripts/backup.sh
#!/bin/sh
###########################################################
## Script zum Erzeugen von Backups #
###########################################################


dir="/mnt/beaglebone/backup/"
name="skywalker"
dat=`date +%Y%m%d-%H%M`
logfile="/mnt/beaglebone/logs/${name}-${dat}.log"


echo "------------------- Beginn Skript ${name} Backup ----------------------" >>${logfile}
echo "" >>${logfile}


dat=`date +%Y%m%d-%H%M`
echo "Beginn des Backup: ${dat}" >>${logfile}
echo "" >>${logfile}


echo "dd if=/dev/mmcblk0 of="${dir}${name}-${dat}.img" bs=1M" >>${logfile}


dd if=/dev/mmcblk0 of="${dir}${name}-${dat}.img" bs=1M 2>>${logfile}
echo "" >>${logfile}


dat=`date +%Y%m%d-%H%M`
echo "Ende des Backup: ${dat}" >>${logfile}


echo "" >>${logfile}
echo "------------------- Ende Skript ${name} Backup ----------------------" >>${logfile}
Jetzt wird erstmal das gemacht was ich mir so vorstelle, aber...


  • Macht es überhaupt Sinn was ich da versuche?
  • Wie kann ich die Qualität des Backups ermitteln, ohne es auf meinen Beaglebone wiederherzustellen? Kurzum, ist das Image nur Schrott?
  • Was würdet ihr anpassen/verändern/weglassen?

Schon mal ein Danke für die konstruktive Kritik.
 
AW: Backup auf NFS Mount

Kleiner und schneller geht es mit rsync. Da kannst du geziehlt weglassen was eh keinen Sinn macht. Ich mache meine Snapshots damit.
Code:
rsync -aAXv /* /Zielverzeichnis --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/var/log/*}
Falls du es mal auf eine SD-Karte zur Widerherstellung schreiben musst du die Partitionen erstellen, mounten und dann mit dem selben Befehl zurückschreiben.
 
AW: Backup auf NFS Mount

Das ist natürlich angenehmer und man kann die Daten überprüfen. Leider ist mir dann der weiter Weg unklar. Kannst du dazu ein paar Worte verlieren. Danke

Falls du es mal auf eine SD-Karte zur Widerherstellung schreiben musst du die Partitionen erstellen, mounten und dann mit dem selben Befehl zurückschreiben.
 
AW: Backup auf NFS Mount

Mit dem Script kopiere ich meinen laufenden Beaglebone auf eine SD-Karte.

Ablauf:
- Arbeitsverzeichnis erzeugen
- Partitionstabelle auf der SD löschen
- Partitionen anlegen, Partitionsgrösse passend zur Grösse des internen Speichers des BBB
- Partitionen formatieren
- Partitionen mounten
- Speicher kopieren
- Partitionen unmounten
- Arbeitsverzeichnis löschen

Code:
#!/bin/bash

#
#  SDcopy Script
#

DISK=/dev/mmcblk1
TMPDIR=$(mktemp -d -t sdcopy-XXXXXXXXXX) || { echo ''; echo 'Arbeitsverzeichnises wurde nicht korrekt angelegt !'; echo ''; exit 1; }
dd if=/dev/zero of=${DISK} bs=1M count=16
sfdisk --in-order --Linux --unit M ${DISK} <<-__EOF__
1,50,0xE,*
51,1780,,-
__EOF__
mkfs.vfat -F 16 ${DISK}p1 -n boot
mkfs.ext4 ${DISK}p2 -L rootfs
mount ${DISK}p2 ${TMPDIR}
mkdir -p ${TMPDIR}/boot/uboot
mount ${DISK}p1 ${TMPDIR}/boot/uboot
rsync -aAXv /* ${TMPDIR} --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/var/log/*}
umount ${DISK}p1
umount ${DISK}p2
rm -rf ${TMPDIR}
exit 0
Sollte sich problemlos auf deine Bedürfnisse anpassen lassen.
 
Zurück
Oben