<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>mynethome.de &#187; Backup</title>
	<atom:link href="http://www.mynethome.de/tag/backup/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mynethome.de</link>
	<description></description>
	<lastBuildDate>Fri, 03 Feb 2012 07:39:48 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel="next" href="http://www.mynethome.de/tag/backup/feed/?page=2" />

		<item>
		<title>Android: Backup and Restore K9 Preferences</title>
		<link>http://www.mynethome.de/2009/08/19/android-backup-and-restore-k9-preferences/</link>
		<comments>http://www.mynethome.de/2009/08/19/android-backup-and-restore-k9-preferences/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 14:42:30 +0000</pubDate>
		<dc:creator>Markus</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[adb]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[k9-mail]]></category>
		<category><![CDATA[restore]]></category>

		<guid isPermaLink="false">http://www.mynethome.de/?p=831</guid>
		<description><![CDATA[M&#246;chte man von Zeit zu Zeit eine neue Firmware auf seinem Android-Ger&#228;t ausprobieren, steht man u.U. vor dem Problem, dass dabei auch die  Benutzerdaten und Konfigurationen verloren gehen. F&#252;r die meisten Zwecke gibt es zwar gute Backuptools, benutzt man jedoch das Mailprogramm K9-Mail, steht man vor einem kleinen R&#228;tsel. Zumindest habe ich keine gute L&#246;sung [...]]]></description>
			<content:encoded><![CDATA[<p>M&#246;chte man von Zeit zu Zeit eine neue Firmware auf seinem Android-Ger&#228;t ausprobieren, steht man u.U. vor dem Problem, dass dabei auch die  Benutzerdaten und Konfigurationen verloren gehen. F&#252;r die meisten Zwecke gibt es zwar gute Backuptools, benutzt man jedoch das Mailprogramm K9-Mail, steht man vor einem kleinen R&#228;tsel. Zumindest habe ich keine gute L&#246;sung gefunden, die dortigen Einstellungen zu sichern und wiederherzustellen.</p>
<p>Drum habe ich mich eben hingesetzt und eine L&#246;sung ausgetestet, die eigentlich recht nahe liegend ist, jedoch u.U. root-Rechte auf dem Telefon braucht und ein wenig Vertrautheit mit der Kommandozeile voraussetzt.</p>
<p>Die Idee ist, die Konfigurationsdaten einfach vom Telefon herunter zu kopieren und sp&#228;ter wieder einzuspielen (wie das eben bei einem Backup/Recovery so l&#228;uft <img src='http://www.mynethome.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ).</p>
<p>Ich habe das ganz zun&#228;chst probiert, indem ich meine K-9 Einstellungen vom Telefon in einen Emulator &#252;berspielt habe, und sp&#228;ter dann nach  erfolgreicher Installation der <a href="http://forum.xda-developers.com/showthread.php?t=546984">neuen Firmware</a> (andere findet man zum Beispiel in der <a href="http://db.androidspin.com/android_build_information.asp">AndroidSPIN ROM Database</a>) auch erfolgreich angewendet.</p>
<p>Die n&#246;tigen Kommandos, nachdem man das Android SDK erfolgreich eingerichtet hat und der  Zugriff mit adb auf das Telefon funktioniert, sind:</p>
<pre>
mkdir com.fsck.k9
cd com.fsck.k9
adb pull /data/data/com.fsck.k9 ./
</pre>
<p>Nach Neuinstallation folgt zun&#228;chst die<br />
Installation von K9. Dann mit adb und dem Kommando</p>
<pre>
adb shell 'ls -l /data/data/com.fsck.k9'
</pre>
<p>Nachschauen, unter welchem Benutzer K9 nun arbeitet, die Ausgabe bei mir ist zum Beispiel </p>
<pre>
drwxrwxr-x app_53   app_53            2009-08-19 16:03 shared_prefs
drwxrwxr-x app_53   app_53            2009-08-19 16:03 app_KeyStore
drwxrwx--x app_53   app_53            2009-08-19 16:02 databases
drwxrwx--x app_53   app_53            2009-08-19 16:02 cache
drwxr-xr-x app_53   app_53            2009-08-19 16:02 lib
</pre>
<p>gewesen, woraus ersichtlich wird, dass der neue Benuter app_53 ist.</p>
<p>Seine Daten spielt man dann zur&#252;ck mit</p>
<pre>
adb push com.fsck.k9 /data/data/com.fsck.k9
</pre>
<p>Zum Schluss werden dann die Benutzerrechte wieder korrekt setzen, dazu braucht man die UID des neu installierten K9, wie oben beschrieben in nserem Fall app_53 und muss das Datenverzeichnis mit einem chown entsprechend dem jeweiligen Benutzer wieder zuordnen:</p>
<pre>chown app_53.app_53 /data/data/com.fsck.k9/*
chown app_53.app_53 /data/data/com.fsck.k9/shared_prefs
chown app_53.app_53 /data/data/com.fsck.k9/app_KeyStore
chown app_53.app_53 /data/data/com.fsck.k9/databases
chown app_53.app_53 /data/data/com.fsck.k9/cache
chown app_53.app_53 /data/data/com.fsck.k9/lib
</pre>
<p>Anzumerken ist noch, dass ich mir nicht die M&#252;he gemacht habe, zu schauen, welche Danten denn nun wirklich <em>notwendig</em> sind &#8211; offensichtlich ist zum Beispiel dass man sich das &#220;berspielen des Cache-Verzeichnisses sparen k&#246;nnte, evtl ist sogar nur die Datei <em>databases/preferences_storage</em> notwendig. Vielleicht hab ich beim n&#228;chsten Firmwarewechsel  Zeit und Lust, das zu testen <img src='http://www.mynethome.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Interessieren w&#252;rde mich allerdings, wie sich dieser ansatz auf einem nicht mit root-Privilegien ausgestatteten Ger&#228;t verhalten w&#252;rde. Mal sehen, vielleicht komme ich in absehbarer Zeit ja dazu, das zu testen&#8230;.und vielleicht helfen diese Aufzeichnungen trotzdem ja jemanden <img src='http://www.mynethome.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.mynethome.de/2009/08/19/android-backup-and-restore-k9-preferences/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PostgreSQL Backup und Dokumentation</title>
		<link>http://www.mynethome.de/2008/08/21/postgresql-backup-und-dokumentation/</link>
		<comments>http://www.mynethome.de/2008/08/21/postgresql-backup-und-dokumentation/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 14:08:24 +0000</pubDate>
		<dc:creator>Markus</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Admin]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[PostgreSQL]]></category>

		<guid isPermaLink="false">http://www.mynethome.de/?p=465</guid>
		<description><![CDATA[Da ich ja eigentlich f&#252;rs Studium arbeiten m&#252;sste, finden sich nat&#252;rlich zur Gedankenzerstreuung immer wieder Dinge, die man mal eben nebenbei erledigen kann. So kam mir meine PostgreSQL Datenbank zwischen die Finger, die bis jetzt ohne Backup lief. Das ist nat&#252;rlich kein Zustand, gerade da ich so im Fr&#252;hjahr bei einem Festplattencrash fast die darin [...]]]></description>
			<content:encoded><![CDATA[<p>Da ich ja eigentlich f&#252;rs Studium arbeiten m&#252;sste, finden sich nat&#252;rlich zur Gedankenzerstreuung immer wieder Dinge, die man mal eben nebenbei erledigen kann. So kam mir meine PostgreSQL Datenbank zwischen die Finger, die bis jetzt ohne Backup lief. Das ist nat&#252;rlich kein Zustand, gerade da ich so im Fr&#252;hjahr bei einem Festplattencrash fast die darin enthaltenen Daten verloren h&#228;tte. Es musste dringend gehandelt werden. Also habe ich mal kurz ein Backupskript f&#252;r PostgreSQL geschrieben:</p>
<blockquote><p>#!/bin/sh</p>
<p>export PGPASSWORD=geheim<br />
export PGUSER=benutzer_der_alles_darf</p>
<p>echo &#8220;Backup Postgres-Databases:&#8221;<br />
echo &#8221;   removing old postgres backups&#8221;<br />
rm -rf /var/backup.d/pgsql<br />
echo &#8221;   re-creating postgresql backup dir&#8221;<br />
mkdir -p /var/backup.d/pgsql</p>
<p># Wohin sollen die ganzen Backups geschrieben werden?<br />
cd /var/backup.d/pgsql</p>
<p># Bereinigte Liste der Datenbanken erzeugen<br />
DBASELIST=`mktemp`<br />
psql -t -h localhost -l  | awk &#8216;{print $1}&#8217; | sort >$DBASELIST</p>
<p>for db in `cat $DBASELIST`; do<br />
    echo &#8220;Database: $db save&#8221;;<br />
        pg_dump -D -h localhost $db  | gzip > $db.sql.gz<br />
done;</p></blockquote>
<p>Vielleicht kann es jemand gebrauchen <img src='http://www.mynethome.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Daneben bin ich auch auf ein Tool gesto&#223;en, mit dem man sich aus vorhandenen Datenbanken Dokumentation in Form von Diagrammen, Beschreibene HTML-Dateien, etc erstellenlassen kann: <a href="http://www.rbt.ca/autodoc/">PostgreSQL Autodoc</a>. </p>
<p>Auf den Befehl </p>
<blockquote><p>
 postgresql_autodoc -d &#8220;DBName&#8221; -u markus &#8211;password
</p></blockquote>
<p>folgt die Ausgabe</p>
<blockquote><p>
Producing DBName.dia from /usr/share/postgresql-autodoc/postgresql_autodoc/dia.tmpl<br />
Producing DBName.dot from /usr/share/postgresql-autodoc/postgresql_autodoc/dot.tmpl<br />
Producing DBName.html from /usr/share/postgresql-autodoc/postgresql_autodoc/html.tmpl<br />
Producing DBName.neato from /usr/share/postgresql-autodoc/postgresql_autodoc/neato.tmpl<br />
Producing DBName.xml from /usr/share/postgresql-autodoc/postgresql_autodoc/xml.tmpl<br />
Producing DBName.zigzag.dia from /usr/share/postgresql-autodoc/postgresql_autodoc/zigzag.dia.tmpl
</p></blockquote>
<p>und die jeweiligen Dateien sind enthalten. Dabei kann man durch Templates auch den Export in ein beliebiges anderes Format automatisieren.<br />
Aus der .dot Datei kann man mit <a href="http://www.research.att.com/sw/tools/graphviz/">GraphViz</a> und dem Befehl</p>
<blockquote><p>dot -Tpng -o DBDiagram.png DBName.dot </p></blockquote>
<p>Auch die angesprochenen &#252;bersichtlichen Diagramme erstellen.</p>
<p> Sehr praktisch, gerade bei Projekten die man schon eine Weile von-Zeit-zu-Zeit mal weiterentwickelt oder falls man sich zu einer Fremdanwendung mal die Datenbank veranschaulichen m&#246;chte.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mynethome.de/2008/08/21/postgresql-backup-und-dokumentation/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Backup</title>
		<link>http://www.mynethome.de/2007/11/30/backup/</link>
		<comments>http://www.mynethome.de/2007/11/30/backup/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 14:49:50 +0000</pubDate>
		<dc:creator>Markus</dc:creator>
				<category><![CDATA[NetFeed]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[Backup]]></category>

		<guid isPermaLink="false">http://www.mynethome.de/2007/11/30/backup/</guid>
		<description><![CDATA[Nur so als Erinnerng an all&#8217; die Backupverweigerer da draussen: The world is divided into two types of people: those who have lost data and those who will.]]></description>
			<content:encoded><![CDATA[<p>Nur so als Erinnerng an all&#8217; die Backupverweigerer da draussen:</p>
<blockquote><p><em><br />
The world is divided into two types of people:<br />
those who have lost data and<br />
those who will.</em></p></blockquote>
<p> <img src='http://www.mynethome.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.mynethome.de/2007/11/30/backup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

