Festplatte/Daten mit Subversion sichern - gute Idee?

Dieses Thema im Forum "Anwendungen" wurde erstellt von amöbe, 09.02.2009.

  1. amöbe

    amöbe Tripel-As

    Dabei seit:
    21.01.2007
    Beiträge:
    188
    Zustimmungen:
    0
    Hi,

    ich wollte mal fragen, wie ihr das eigentlich so macht mit Backups usw.
    Sicher, man könnte einfach eine Kopie machen, nur wenn man dann doch was löscht oder eine noch ältere Version braucht hat man Probleme, und nur Kopieren verschwendet ja auch Speicherplatz (Wenn man mehrere Verisonen hat).

    Und da gibts doch irgendwie so Programme, wo man eine ganze Reihe von Versionen speichern kann. Sowas wie Time Machine oder ich kenne jetzt von kleineren Projekten Subversion und das kann ja auch Binärdaten verwalten. Ist es also eine schlaue Idee einfach die ganze (oder große Teile von der) Festplatte als Arbeitskopie aufzufassen und das Ropository auf einer anderen, etwas größeren Festplatte zu haben? Oder gibt es da Probleme, weil Subversion ja auch immer paar verstecke Dateien usw. anlegt, bzw. veilleicht etwas langsam ist manchmal.
    Aslo ich fände es jetzt z.B. ein bisschen komisch meine Fotos in SVN zu speichern...?

    Gibts da nicht noch was anderes? Vielleicht sogar mit GUI und so?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 saeckereier, 09.02.2009
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Eine der probatesten Lösungen ist das auf einem dedizierten Rechner mit rsync zu machen, ist an Eleganz nicht zu überbieten. Parallel setze ich zu Hause Bacula ein, ist auch ausgesprochen gut, aber mein neuer Server ist noch nicht so weit fertig, dass ich das ausgiebig testen konnte. Die ersten Sicherungen (und Restores!) sind aber gut gelaufen. Die rsync Lösung läuft seit einiger Zeit und ist per Samba read-only zu erreichen. Googel mal nach rsnapshot..
     
  4. #3 bitmuncher, 09.02.2009
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    SVN ist sicherlich keine gute Idee. Wenn man zeitlich wiederherstellbare Backups braucht, nutzt man entweder ein Dateisystem, das entsprechende Snapshot-Funktionen hat oder man verwendet Backups, bei denen nur die Änderungen gespeichert werden (inkrementelle Backups).
     
  5. amöbe

    amöbe Tripel-As

    Dabei seit:
    21.01.2007
    Beiträge:
    188
    Zustimmungen:
    0
    Hey Danke! Ihr habt mich auf die richtige Spur gebracht. Da ich die Hardware noch nicht so ganz da habe, werde ich denke ich mal noch ne weile aufs gute alte DVD-brennen angewiesen sein... Mal sehen:

    TimeVault
    https://wiki.ubuntu.com/TimeVault
    Sieht zwar nett aus ist aber ein bisschen zu GNOME orientiert vielleicht.

    rsnapshot
    http://rsnapshot.org/
    Ein bisschen zu wenig GUI, aber man weiß wenigstens, was man hat.

    flyback
    http://code.google.com/p/flyback/
    Das selbe, nur mit GUI, aber möglicherweise nicht so stabil.

    dirvish
    http://www.dirvish.org/
    Anscheinend sehr ähnlich zu rsnapshot.

    Hmm... irgendwelche Erfahrungen? Ich würde bisher zu rsnapshot tendieren, da so GUIs sowieso fast immer nicht ganz so das sind, was man eigentlich wollte, macht man sich wohl besser selber...
    (Bacula sah mir irgendwie ein bisschen zu kompliziert aus...)
     
  6. T-One

    T-One Routinier

    Dabei seit:
    14.10.2008
    Beiträge:
    478
    Zustimmungen:
    3
    Ort:
    Österreich
    Ich mach meine backups meistens mit Arkeia (Firma) oder Mondo Rescue (Privat).

    Arkeia für das volle "Backup-Programm" von Backup2Disk über Clientsicherungen per Agent zu Tape-Autoloader.

    Mondo Rescue verwende ich um meine Privatsysteme wöchentlich auf Rescue-DVDs zu spielen.
     
  7. bb83

    bb83 Frickler

    Dabei seit:
    16.12.2008
    Beiträge:
    86
    Zustimmungen:
    0
    Habe das Thema auch mal zum anlass genommen, mein Backupkonzept zu überdenken.
    rsnapshot, scheint für meine Zwecke sehr gut zu sein, und ist auch noch relativ einfach zu konfigurieren.
     
  8. #7 chessboi, 16.02.2009
    chessboi

    chessboi Grünschnabel

    Dabei seit:
    11.08.2006
    Beiträge:
    5
    Zustimmungen:
    0
    Hallo

    Ich möchte an dieser Stelle gleich mal meinen Backupscript vorstellen, den ich heute / die letzten Tage etwas erweitert habe.

    Der Script bietet drei Hauptfunktionen:
    Backupen von einer per Textfile definierten Liste von Konfigurationsdateien mit rsync. Das passiert bei mir regelmässig per Cronjob.

    Backupen von meiner Datenpartition auf eine externe Disk. Dies mache ich manuell, da ich die externe Platte nicht die ganze Zeit am Rechner haben will.

    Die neue Funktion bietet die möglichkeit ein bestimmtes Verzeichnis zu überwachen, und wenn sich ggf Daten verändert haben, die Änderung (differentiel Backup) zu sichern. Die nutze ich wenn ich irgend etwas am Entwickeln bin. (Kleine Dateien welche man die ganze Zeit editiert z.B. bei scripten oder schreiben einer Arbeit.)

    Code:
    #!/bin/bash
    #
    # Version: 2.0
    # Changelog:
    # initial 24.02.2008
    # last modify 16.02.2009 - add iwatch observation
    #
    # to do: 
    # better handling with logfiles
    # set paths by parameter
    # handling for old backupfiles
    
    BACKUPPATH="/data/backup/configs/"		# backuppath for files
    CONFIGFILE="$(dirname $0)/configfiles.conf"	# scriptconfig
    DATAPATH="/data"				# datapath to backup
    BACKUPDISK="/backup/backup"			# backupdisk
    IWATCHPATH="/data/doku/ipa"			# observation dir for iwatch
    IBACKUPPATH="/data/backup/iwatch"		# backuppath for iwatchfiles
    LOGIWATCH="/var/log/backup/iwatch.log"		# logfile vor iwatch (if running in verbose mode)
    LOGFILE="/var/log/backup/backup.log"		# logfile
    DATE=`date +%d%m%Y%H%M`				# date like 240220081430 (day month year hour minute)
    TIMESTAMP="date +%X"				# timestamps for logfile
    ROOT_UID=0					# root user-id
    
    # usage: how to use this script
    F_USAGE () {
    cat << EOF
    
    Backup Script
    Usage:
    
    -b	backup the files from ${CONFIGFILE}
    -s	sync ${DATAPATH} to ${BACKUPPATH}
    -B	first backup the files from ${CONFIGFILE}, then sync ${DATAPATH} to ${BACKUPPATH}
    -r	restore all files from ${CONFIGFILE} (untestet)
    -nt	also backup notext files with iwatch
    -V	Verboselevel for iwatch function
    -i	observate ${IWATCHPATH} and make backup by changing
    	warning: you can run out of disk space or inodes with this function!
    
    EOF
    	exit 1
    }
    
    # backup: backup the defined configfiles
    F_BACKUP () {
    	echo "# `${TIMESTAMP}`: backup the files from ${CONFIGFILE}" >> ${LOGFILE}
    	while read input  
    	do
    		rsync -avR --progress $input ${BACKUPPATH} | tee -a ${LOGFILE}
    	done < ${CONFIGFILE}
    }
    
    # restore: copy back all data - untested, becauce this is a backup script, nobody needs restore
    F_RESTORE () {
    	while read input 
    	do
    		if [ ! -e $(dirname $input) ];
    		then
    			mkdir -p $(dirname $input)
    		fi
    		cp -r ${BACKUPPATH}$input $(dirname $input)
    	done < ${CONFIGFILE}
    }
    
    # resync: sync the datapath with the backupdisk
    F_RSYNC ()
    {
    	echo "# `${TIMESTAMP}`: sync ${DATAPATH} to ${BACKUPPATH}" >> ${LOGFILE}
    	rsync -av --progress ${DATAPATH} ${BACKUPDISK} | tee -a ${LOGFILE}
    }
    
    # iwatch function, copy data to IBACKUPPATH
    iF_COPY ()
    {	
    	echo "copy $1 to ${IBACKUPPATH}" >> ${LOGFILE}
    	cp $1 ${IBACKUPPATH}/`echo $1 | sed s@${IWATCHPATH}@@g`
    }
    
    # iwatch function, make a differential backup
    iF_DIFFBACK ()
    {
    	if [ ! -e ${IBACKUPPATH}/`echo $1 | sed s@${IWATCHPATH}@@g` ];
    	then
    		iF_COPY "$1"
    	elif [ `file -b $1 | grep " text" > /dev/null; echo $?` -eq 0 -o "${IWATCH_NOTXT}" == 0 ];
    	then
    		diff -U 0 -a $1 ${IBACKUPPATH}/`echo $1 | sed s@${IWATCHPATH}@@g` >> ${IBACKUPPATH}/`echo $1 | sed s@${IWATCHPATH}@@g`.${DATE}.diff
    		# restore with `patch ${IBACKUPPATH}/file ${IBACKUPPATH}/file.diff`
    		#cp $1 ${IBACKUPPATH}/`basename $1`.${DATE}.oldfile
    	else
    		echo "$1 seems not do be a textfile" >> ${LOGIWATCH}
    	fi
    }
    
    # iwatch function, make a list with deletet files
    iF_LIST ()
    {
    	# echo "$1" >> ${IBACKUPPATH}/delfiles.txt
    	mv  ${IBACKUPPATH}/`echo $1 | sed s@${IWATCHPATH}@@g` ${IBACKUPPATH}/`echo $1 | sed s@${IWATCHPATH}@@g`.${DATE}.deleted
    }
    
    F_IWATCH ()
    {
      #### 
      #################################################################
      #	observate a path and make a backup by changing files
      #	needs the tool iwatch installed on the system
      #	use the above definded iF_* functions
      #################################################################
    
    	#loglevel (more definitions are expectet) # debug
    	case  ${IWATCH_V} in 
    	"0")
    		iwatch -e all_events ${IWATCHPATH} >> ${LOGIWATCH} &
    		;;
    	"1")
    		iwatch -e default ${IWATCHPATH} >> ${LOGIWATCH} &	
    		;;
    	esac	
    	
    	#create logfile
    	if [ ! -e ${LOGIWATCH} ] ;
    	then
    		if [ ! -d $(dirname ${LOGIWATCH}) ];
    		then
    			mkdir -p $(dirname ${LOGIWATCH})
    		fi
    	else
    		mv ${LOGIWATCH} ${LOGIWATCH}_${DATE}
    	fi
    	touch ${LOGIWATCH}
    	
    	#sync data with existing backup
    	#rsync -av ${IWATCHPATH}/ ${IBACKUPPATH}/
    	for file in $( find ${IWATCHPATH} -type f )
    	do
    		diff -q $file ${IBACKUPPATH}/`echo $file | sed s@${IWATCHPATH}@@g` > /dev/null 2>&1
    		local ANSWER="$?"
    		if [ $ANSWER -eq 1 ];
    		then
    			iF_DIFFBACK "$file" &
    		elif [ $ANSWER -eq 2 ];
    		then
    			iF_COPY "$file" &
    		fi
    	done
    
    	#begin observation
    	iwatch -r -e create -c "$0 'iF_COPY' '%f'" ${IWATCHPATH} &
    	iwatch -r -e modify,close_write -c "$0 'iF_DIFFBACK' '%f'" ${IWATCHPATH} &
    	iwatch -r -e move,delete,delete_self -c "$0 'iF_LIST' '%f'" ${IWATCHPATH} &
    }
    
    ##########################################################################################
    ##########################################################################################
    # RUN
    ##########################################################################################
    ##########################################################################################
    
    # some tests:
    if [ "$#" -eq "0" ] ;
    then
    	F_USAGE
    fi
    
    if [ "$UID" -ne "$ROOT_UID" ]
    then
            echo "You must be root to run this script."
            exit 1
    fi
    
    if [ ! -e ${LOGFILE} ] ;
    then
    	if [ ! -d $(dirname ${LOGFILE}) ];
    	then
    		mkdir -p $(dirname ${LOGFILE})
    	fi
    else
    	mv ${LOGFILE} ${LOGFILE}_${DATE}
    fi
    touch ${LOGFILE}
    echo "# backup from ${DATE} start" >> ${LOGFILE}
    
    # read the parameters:
    while [ "$#" -gt "0" ] ;
    do
    	case $1 in
    		-B) # backup and sync: F_BACKUP + F_RSYNC
    			F_BACKUP
    			F_RSYNC
    			shift
    			;;
    		-b) # backup configs: F_BACKUP
    			F_BACKUP
    			shift
    			;;
    		-s) # syncinc data: F_RSYNC
    			F_RSYNC
    			shift
    			;;
    		-r) # restore configs: F_RESTORE
    			F_RESTORE
    			shift
    			;;
    		-V) # verboselevel	
    			IWATCH_V=$2
    			shift
    			shift	
    			;;
    		-nt) # also backup notext files with iwatch
    			IWATCH_NOTXT=$2
    			shift
    			shift
    			;;
    		-i) # iwatch observation	
    			F_IWATCH &
    			shift
    			;;
    		iF_COPY) # iwatch function
    			iF_COPY $2 &
    			exit 0
    			;;
    		iF_DIFFBACK) # iwatch function
    			iF_DIFFBACK $2 &
    			exit 0
    			;;
    		iF_LIST) # iwatch function
    			iF_LIST $2 &
    			exit 0
    			;;
    		*) # default	
    			F_USAGE
    			break
    			;;
    	esac
    done
    echo "# `${TIMESTAMP}` end" >> ${LOGFILE}
    exit 0
    ##########################################################################################
    # EOF
    
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. #8 schwedenmann, 16.02.2009
    schwedenmann

    schwedenmann Foren Gott

    Dabei seit:
    18.11.2003
    Beiträge:
    2.635
    Zustimmungen:
    2
    Ort:
    Wegberg
    Sicherungen

    Hallo


    Ich nutze dar, aber nur Vollbackup von / auf DVD-RW. dar kann zwar auch inkrementell-backups, ist aber für meine Zwecke nicht wichtig.


    Auf pro-linux gibts einen netten Artile zum Thema Backupo, dort wird das Programm Boxbackup vorgestellt, wäre ev. auch eine Überlegung wert.

    mfg
    schwedenmann
     
  11. #9 saeckereier, 17.02.2009
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Ich benutze wie gesagt beides um im Netz Rechner zu sichern. Für rsnapshot benutze ich einen rsync Server auf dem Windows PC. Auf Linux ist das eh kein Problem, unter Windows bisher auch sehr stabil. Der Vorteil ist, dass man einfach zu navigierende Snapshots hat, die ohne weitere Tools zu lesen sind und automatisch inkrementell arbeiten. Ich bin davon begeistert. Ein anderes Tool ist auch noch boxbackup, das mich bisher auch sehr überzeugt hat ABER: es sind keine Restores zu bestimmten Zeitpunkten (=Snapshots) möglich und das wiederherstellen kann recht mühsam sein. Bacula ist ausgesprochen mächtig, dem geschuldet aber auch recht komplex am Anfang.
     
Thema:

Festplatte/Daten mit Subversion sichern - gute Idee?

Die Seite wird geladen...

Festplatte/Daten mit Subversion sichern - gute Idee? - Ähnliche Themen

  1. Subversion 1.9 veröffentlicht

    Subversion 1.9 veröffentlicht: Das Versionsverwaltungssystem Subversion liegt jetzt in Version 1.9 vor. Die neue, nach Angaben der Entwickler bisher beste Version bringt einige...
  2. Subversion 1.8 veröffentlicht

    Subversion 1.8 veröffentlicht: Das Quellcode-Verwaltungssystem Subversion liegt jetzt in Version 1.8 vor. Sie bringt einige von den Anwendern gewünschte neue Funktionen und...
  3. Subversion Einrichtung Fehler

    Subversion Einrichtung Fehler: Hallo, beim Einrichten vom Subversion Server trat bei mir folgender Fehler auf: svn: warning: W155007: '/home/repos/projekt1' is not a working...
  4. Subversion Rechtemanagement - Unterordner freigeben

    Subversion Rechtemanagement - Unterordner freigeben: Moin, Ich möchte gerne für einzelne Nutzer von Subversion automatisch nur bestimmte Unterordner freigeben. Quasi ein "chroot" im...
  5. Probleme mit Subversion

    Probleme mit Subversion: Hi, ich weiss echt nicht wo ich das reinpacken soll, darum hab ichs in den Off-Topic Bereich geschoben. Folgendes: Ich hab mir gestern oder so...