Backup und Update vom Cubietruck (Igor-Image)

Begonnen von RoBra81, 11 März 2015, 19:12:32

Vorheriges Thema - Nächstes Thema

le66ck

@ betateilchen
Dann leg doch Deine "Karten" auf den Tisch...
Zeig wie es geht, ich bin nicht allwissend!?

CK
1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

RoBra81

Zitat von: betateilchen am 11 März 2015, 21:39:37
wie ein kleines Kind... die glauben auch nicht, dass die Herdplatte heiß ist, bis sie draufgefasst und sich die Finger verbrannt haben.


Ich möchte mir eben nicht die Finger verbrennen und daher ein Backup haben, bei dem ich nicht Stunden brauche bis ich das Licht wieder einschalten kann...

hexenmeister

Zitat von: RoBra81 am 11 März 2015, 21:55:40
Ich möchte mir eben nicht die Finger verbrennen und daher ein Backup haben, bei dem ich nicht Stunden brauche bis ich das Licht wieder einschalten kann...

Image im Betrieb sind im Prinzip unsicher. Kann funktionieren, muss aber nicht.
Fahren den CT runter, nehme die Karte raus, klone sie und lege die Kopie in die Schublade. Dann kannst Du gefahrlos updaten, was Du willst ;)

Spezialtrick

#18
An einem Backup als Image hätte ich auch großes Interesse. Das ist für den Notfall genau das Richtige.

Optimal wäre eine automatische Sicherung des Systems in der Nacht, damit das Backup auch immer aktuell ist.

Ist das realisierbar?

Ein dateibezogenes Backup kann man ja immer noch zusätzlich erstellen.
FHEM - Debmatic - Zigbee2MQTT - Homekit

RoBra81

Zitat von: hexenmeister am 11 März 2015, 22:26:09
Fahren den CT runter, nehme die Karte raus, klone sie und lege die Kopie in die Schublade. Dann kannst Du gefahrlos updaten, was Du willst ;)

Ich habe aber zum einen keine SD-Karte sondern eine SSD (die ich nicht so einfach irgendwo anschließen und clonen kann) und zum anderen funktioniert das Haus in der Zeit nur sehr eingeschränkt  :-[

Tion

Ich habe mir ein Image mit einen Sata auf USB Adapter gezogen
FHEM@CT||RFXTRX,CUL868@MAX,HM-Usb,JeeLink
Jee:TX29DTH-IT||Max:Thermostat,ShutterContact,
HM:SEC-MDIR,LC-SW1-PL2,LC-Dim1TPBU-FM,PB-2-WM55
RFX:FA20RF/2, HE501EU,ITL-230,OWL Intuition-lc,YCT-100,div Brennstuhl,IT 1500
FS20:IRU,KSE||FbDect 200,EG-PM2-LAN

hexenmeister

Zitat von: Spezialtrick am 11 März 2015, 22:30:13
Optimal wäre eine automatische Sicherung des Systems in der Nacht, damit das Backup auch immer aktuell ist.

Ist das realisierbar?
Schon. Ich benutze folgendes Script:
#!/bin/bash

# Setting up directories
SUBDIR=sd_backups
DIR=/mnt/data/data/_bak/$SUBDIR

# should image be compressed (tar)? (1=Yes, 0=No)
COMPRESS_IMAGE=0

echo "Starting SD backup process!"

# First check if pv package is installed, if not, install it first
PACKAGESTATUS=`dpkg -s pv | grep Status`;

if [[ $PACKAGESTATUS == S* ]]
   then
      echo "Package 'pv' is installed."
   else
      echo "Package 'pv' is NOT installed."
      echo "Installing package 'pv'. Please wait..."
      sudo apt-get -y install pv
fi

# Check if backup directory exists
if [ ! -d "$DIR" ];
   then
      echo "Backup directory $DIR doesn't exist, creating it now!"
      sudo mkdir $DIR
fi

# Create a filename with datestamp for our current backup (without .img suffix)
OFILE="$DIR/backup_$(date +%Y%m%d_%H%M%S)"

# Create final filename, with suffix
OFILEFINAL=$OFILE.img

# First sync disks
sync; sync

# Shut down some services before starting backup process
echo "Stopping some services before backup."
sudo service cron stop
sudo service apache2 stop
sudo service mysql stop

# Begin the backup process, should take about 1 hour from 8Gb SD card to HDD
echo "Backing up SD card to USB HDD."
echo "This will take some time depending on your SD card size and read performance. Please wait..."
SDSIZE=`sudo blockdev --getsize64 /dev/mmcblk0`;
sudo pv -tpreb /dev/mmcblk0 -s $SDSIZE | sudo dd of=$OFILE bs=1M conv=sync,noerror iflag=fullblock

# Wait for DD to finish and catch result
RESULT=$?
echo "Result: $RESULT"

# Start services again that where shutdown before backup process
echo "Start the stopped services again."
sudo service mysql start
sudo service apache2 start
sudo service cron start

# If command has completed successfully, delete previous backups and exit
if [ $RESULT = 0 ];
   then
      # should image be compressed (tar)?
      if [ $COMPRESS_IMAGE = 1 ];
         # compress image
         then
            echo "Successful backup, previous backup files (tar.gz) will be deleted."
            rm -f $DIR/backup_*.tar.gz
            mv $OFILE $OFILEFINAL
            echo "Backup is being tarred. Please wait..."
            tar zcf $OFILEFINAL.tar.gz $OFILEFINAL
            rm -rf $OFILEFINAL
            echo "SD backup process completed! FILE: $OFILEFINAL.tar.gz"
            exit 0
         # Else remove old images
         else
            echo "Successful backup, previous backup files (img) will be deleted."
            rm -f $DIR/backup_*.img
            mv $OFILE $OFILEFINAL
            exit 0
         fi
# Else remove attempted backup file
   else
      echo "Backup failed! Previous backup files untouched."
      echo "Please check there is sufficient space on the HDD."
      rm -f $OFILE
      echo "SD backup process failed!"
      exit 1
fi


Aufgerufen wird jede Nacht per cron.
Aber wie gesagt, ein Backup im Betrieb ist nicht sicher!
Daher sichere ich eigen Module, Configuration und FHEM-Logs noch mal zusätzlich.

hexenmeister

Zitat von: RoBra81 am 11 März 2015, 22:38:29
Ich habe aber zum einen keine SD-Karte sondern eine SSD (die ich nicht so einfach irgendwo anschließen und clonen kann) und zum anderen funktioniert das Haus in der Zeit nur sehr eingeschränkt  :-[
Da bin ich froh, dass ich darauf geachtet habe, dass alles auch ohne Server per Hand bedienbar ist. Auch wenn ohne jegliche Automatik. Kurzzeitig problemlos verschmerzbar ;)

Ich habe auch eine Platte im System (allerdings keine SSD). Das System bootet jedoch von der Karte (alles wichtige liegt aber auf HDD). Der Grund ist die Möglichkeit, das System schnell wieder zu beleben. Ich habe einfach eine Kopie der Karte liegen. Geht die SDCard hops, dann den  Backup auf die neue Karter - fertig. Geht Backup nicht - die zurückgelegte Kopie rein, update, fertig. Und wenn auch das scheitert - das System ist schnell installiert, mehr ist auf der Karte ja nicht. Geht HDD kaputt - neue rein, Dateien aus dem (dateibasierten) Backup einspielen, fertig.

Wernieman

Prinzipiell:
Ein Laufendes Linux (Unix) System zu sichern ist ... nicht einfach. Es gibt zwar Mittel dazu, aber diese sind für Laien und ohne Vorarbeit praktisch nutzlos.

Ich würde in diesem Falle auch System clonen und ansonsten Configfiles etc. automatisiert sichern. Automatisiert, damit man es nicht vergisst ;o)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html