Backup & Restore

Status
Für weitere Antworten geschlossen.

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Eigentlich ist die eingebaute lokale Sicherung recht ordentlich. Aber es fehlen ein paar Dinge:

- Sicherungs-Versionen (so eine Art time-machine)
- einfacheres Restore
- Vergleich, ob man auch eine gültige Sicherung hat

Ich hab den rsync mal mit einem Web-Interface ausgestattet und die fehlenden Teile dazu gemacht.

Das Konzept ist also:
- Man macht eine Grundsicherung (auf ein bestimmtes Datum). Jede weitere Sicherung legt einen neuen Sicherungsbaum (Snapshot mit Datum) an und verlinkt die nicht-geänderten Dateien per Hardlink auf die letzte Sicherung. Das macht der rsync sehr hübsch. Somit erhält man inkrementelle Backups, kann aber trotzdem auf alle Dateien einer Sicherung auf einmal zurückgreifen (man braucht also beim Restore keine Delta-Verabeitung).
- Der Vergleich wird per diff gemacht und nur die Dateinamen werden ausgegeben.
- Alte Sicherungen kann man löschen.
- Restore wird auch per rsync von einem Snapshot gemacht gemacht; kann daher auch sehr schnell gehen.

Man wählt also seine Quellen-Verzeichnisse (Source) und sein Ziellaufwerk/-verzeichnis aus und bastelt sich so ein Backup-Kommando. Mit einem Doppelklick kann man die Kommando-Zeile editieren.

Das gleiche gilt auch für den Restore ... an Anfang einfach mal ein wenig mit Dummy-Verzeichnissen herumspielen, dann merkt man schon wie es geht.

Wie immer geht alles auf eigene Kappe :D und alle Skripte stehen wie immer unter GPL3. Für Verbesserungsvorschläge bin ich immer zu haben.

Vorsicht! Beim Restore können Daten gelöscht werden, also immer genau hinschauen, was man da macht.


Der Vollständigkeit halber sei erwähnt, das spätestens nach 65534 Sicherungen das Konzept nicht mehr geht, weil der Link-Counter im File-System nur 16 Bit groß ist - fiese Bemerkung am Rande: unter Windows wäre schon 1023 Aufrufen Schluss, mehr Hardlinks gehen da nicht :D

Ach ja ... vorher muss natürlich das Init_3rdparty.spk gelaufen sein, bevor man dieses Paket installiert.

itari

Beispiel-Bildchen - sieht natürlich bei jedem anders aus ..
 

Anhänge

  • WebBackup.spk
    11,5 KB · Aufrufe: 493
  • webbackup.jpg
    webbackup.jpg
    74,6 KB · Aufrufe: 1.409
  • webbackup2.jpg
    webbackup2.jpg
    49,5 KB · Aufrufe: 1.307
Zuletzt bearbeitet:

steffi

Super-Moderator
Teammitglied
Mitglied seit
04. Jan 2008
Beiträge
2.310
Punkte für Reaktionen
48
Punkte
94
ist damit auch ein backup/restore der webserver/photoserver-datenbank möglich?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Die Datenbanken sind bei dem Skript noch außen vor.

Für die MySQL-Datenbank habe ich ja schon was als spk-Paket geschrieben.

Für die Postgres-Datenbank noch nicht.

itari
 

steffi

Super-Moderator
Teammitglied
Mitglied seit
04. Jan 2008
Beiträge
2.310
Punkte für Reaktionen
48
Punkte
94

steffi

Super-Moderator
Teammitglied
Mitglied seit
04. Jan 2008
Beiträge
2.310
Punkte für Reaktionen
48
Punkte
94
hallo

hat prima geklappt.

was ist die "pgsql" für eine datenbank? die wird mitgesichert...
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Eine Postgres Datenbank ;)
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Die Datenbanken legen auf der DS ihre Daten in Dateien ab, so dass man diese Dateien sichern kann. Allerdings sollte man vorher den jeweiligen Datenbank-Server herunterfahren, damit beim Sichern nicht gerade noch Datenbankdaten verändert werden. Das würde bei einem Restore zu Unstimmigkeiten führen.

Beim MySQL-Backup habe ich das eingebaut. Bei Postgres müsste man das noch tun.

itari
 

steffi

Super-Moderator
Teammitglied
Mitglied seit
04. Jan 2008
Beiträge
2.310
Punkte für Reaktionen
48
Punkte
94
Beim MySQL-Backup habe ich das eingebaut. Bei Postgres müsste man das noch tun.

itari

aber dein mysqlbackup.spk sichert doch beide datenbanken....mysql und pgsql. ist das nicht gewollt?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
aber dein mysqlbackup.spk sichert doch beide datenbanken....mysql und pgsql. ist das nicht gewollt?

nö sicher doch nur MySQL - würd ich wissen, wenn da auch pgsql mit gesichert werden würde :D

itari
 

steffi

Super-Moderator
Teammitglied
Mitglied seit
04. Jan 2008
Beiträge
2.310
Punkte für Reaktionen
48
Punkte
94
shit...

ich habe gerade versucht mit restore die database wieder herzustellen. nun geht nix mehr..

SQL ERROR [ mysqli ]

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) [2002]

An sql error occurred while fetching this page. Please contact an administrator if this problem persists.
 
Zuletzt bearbeitet:

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
hi Steffi, wie wo was?

mit welchen Skript hast nun die Datenbank restort? Hoffentlich nicht mit dem Backup&Restore bei laufendem Datenbank-Server - oder?

Hab ich doch vorhin gepostet, dass man bei Datenbank-Backups und natürlich auch bei Datenbank-Restores den Datenbank-Server erst runterfahren muss, also zum Beispiel
Rich (BBCode):
/usr/syno/etc/rc.d/S21mysql.sh stop
.

itari
 

steffi

Super-Moderator
Teammitglied
Mitglied seit
04. Jan 2008
Beiträge
2.310
Punkte für Reaktionen
48
Punkte
94
tjo


ich dachte, der befehl zum stoppen/starten ist in dem script enthalten. ich meine auch so einen befehl im logfenster gesehen zu haben.

ich habe aber vermutlich einen fehler bei der installation des paketes gemacht.

ich habe das paket direkt installiert. (nach dem einrichtungspaket für 3rd party anwendungen). in der beschreibung steht noch etwas von schritt 2+3. diese habe ich nicht vorgenommen
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Ja wo der Fehler herkommt, ist mir schleierhaft, weil es bei mir tadellos läuft. Offensichtlich hat sich aber bei den Datenbanken was getan, denn bei mir ist im Verzeichnis @database nur mysql drin und mehr nicht. Allerdings habe ich auch nicht die aktuellste Firmware (und werde diese auch erstmal nicht aufspielen). Somit kann ich im Moment nur den Rat geben, die Datenbanktabellen einzeln zu restoren.

itari
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
13
Punkte
84
im Verzeichnis /volume1/@database sind seit mindestens der Version 717 beide Datenbanken enthalten.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Also bei mir (Version 0722) sind ebenfalls beide DBs im Verzeichnis
Code:
$ ls -all /volume1/@database
drwxr-xr-x    4 admin    root         4096 Sep  1 19:44 .
drwxrwxrwx   17 root     root         4096 Nov  9 15:19 ..
drwx------    5 admin    users        4096 Nov  9 15:20 mysql
drwx------   10 admin    users        4096 Aug  5 21:19 pgsql
 

NASsie

Benutzer
Mitglied seit
17. Jan 2009
Beiträge
150
Punkte für Reaktionen
0
Punkte
16
Hallo Itari,

bevor ich das probiere, klappt das auch mit "DSM 2.1-0844"?
Dein Beitrag ist ja schon ein bisschen aelter...

Wo stelle ich uebrigends ein, in welchen Intervallen das Backup gefahren werden soll?
Mir schwebt eine Loesung vor, die bestimmte (kritische) Verzeichnisse stuendlich sichert, andere taeglich, bzw. woechentlich. Verzeichnisse aus der stuendlichen Sicherung sollten auch in der taeglichen und wochentlichen Sicherung integrierbar sein. Genau das kann das eingebaute Backup naemlich nicht. Ist ein Verzeichnis fuer einen Backup-Plan ausgewaehlt, laesst es sich noch einmal fuer ein anderen Backup-Plan verwenden...
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Ja läuft bei mir auch auf der 844.

Das ist kein Tool für zeitlich gesteuerte Backups. Das ist eine Oberfläche, um sich den rsync selbst zusammenzubasteln, tiefere innere Einsichten zu gewinnen und Dinge damit zu erledigen, die der normale Backup nicht so richtig kann. Nicht mehr und nicht weniger.

Es ist keine perfekte Lösung für den Alltag. Es soll nur dem Argument widersprechen, dass es auf der DS keine Alternativen fürs Backup gibt bzw. dass die DS nicht hinsichtlich des Backups flexibel sein könnte. Ich mache solche Lösungen deswegen, um zu zeigen, dass noch recht viel Potential in einer DS steckt und wir versuchen müssen, dies der DS bzw. den Synology-Entwicklern zu entlocken. :D

Es gibt auch hier noch weitere intelligente Backup-Lösungen für die DS.

Itari
 

Heatseeker

Benutzer
Mitglied seit
15. Okt 2008
Beiträge
232
Punkte für Reaktionen
0
Punkte
0
Hi itari,
ich würde gerne rsync mit Hardlinks zum Backup einsetzten. bin nun über dein "interface" gestolpert. Nun wollte ich eine kleine Skriptdatei schreiben, die ich dann mittels cron starten kann.
Der Backuplink wie er von deinem Skript erstelllt wird sieht ja so aus:
Rich (BBCode):
/opt/bin/rsync -aHKcxv --del --link-dest=/volumeUSB1/20100719_1128 /volume1/XXX /volumeUSB1/20100719_1133

Den neuen Ordner könnte man ja mittels 'date' erstellen, aber wie kann ich den link-dest erstellen, also den Ordner mit dem neuesten Backup. Hast du da einen Tip für mich?

PS: Welches Dateisystem brauche ich eigentlich auf dem angeschlossen Datenträger damit hardlinks funktionieren? Oder ist das Dateisystemunabhängig??? NTFS kanns mach ich gerade von einem Win-PC so. EXT3 sollte es ja wohl auch können. Aber kann das rsync auf der DS Hardlinks auf einem NTFS Laufwerk?
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat