Sie befinden sich hier: eisfair / Pack-Eis
News News News

Navigation

Content

Dateianzeige für backup-zip (1.5.3)

usr/share/doc/backup-zip/backup-zip.txt
#/usr/share/doc/backup-zip/backup-zip.txt # # --- Backup-ZIP 1.5.3 for Eis/Fair Server --- # # Copyright (c) 2005 Hans-Peter Seiler # 2015-2024 Marcus Roeckrath # # Creation: 15.09.2005 hs # Last Update: 01.04.2024 mr # #------------------------------------------------------------------------------ # Konzept des Programms #------------------------------------------------------------------------------ Der Fokus bei der Entwicklung von Backup-ZIP lag nicht im Erstellen von Backups (da existieren mittlerweile extrem viele gute Loesungen), sondern darin eine moeglichst stressfreie, einfache und sichere Moeglichkeit zu bieten, um Backups wiederherzustellen. Es ist vielseitig, da alle sinnvollen Techniken unterstuetzt werden und fuer die Datensicherung kann preisguenstige Hardware benutzt werden. Moeglichkeiten fuer Backups: 1. Backup/Restore von lokalen Daten auf Medien, die gemountet werden koennen und beschreibbar sind (z.B. Festplatten, USB Drives, DVD RAM). 2. Backup/Restore von Daten auf Netzwerkfreigaben, bidirektional. 3. Backup/Restore von Daten auf Remote Servern via rsync/ssh. Techniken: 1. Multivolume-Archive mit beliebig vielen Backup Rotationen in den Formaten .tar - Tar-Archive ohne Komprimierung .tar.gz - Tar-Archive mit gzip Komprimierung .tar.bz2 - Tar-Archive mit bzip2 Komprimierung .rar - Rar-Archive, optional, Rar ist lizenzpflichtig und muss deshalb manuell installiert werden, nach /usr/bin/... ansonsten erfolgt eine Fehlermeldung 2. rsync mit beliebig vielen Rotationen .rsync - inkrementelle Backups - rsync Parameter fuer jeden Backup Job individuell configurierbar - verschluesselte remote Backups/Restores via ssh - Soweit rsync nicht installiert sein sollte, dann kann es wahlweise beim ersten Ausfuehren von "Backup create" autom. nachinstalliert werden. ACHTUNG bitte lesen!!! - Rotationen werden als Softlinks angelegt und verbrauchen so gut wie keinen Speicherplatz, ideal fuer grosse Datenmengen. (Bei Sicherung auf Samba Shares existiert dieser Vorteil leider nicht.) - Rsync-Backups auf Netzwerkfreigaben von Win-Clients koennen problematisch werden, wegen fehlender Userberechtigungen. Hier sind tar-Archive die bessere Wahl. #------------------------------------------------------------------------------ # # Menue # #------------------------------------------------------------------------------ So sieht das Menue aus: 1: View Documentation 2: Edit Configuration 3: Activate ssh Login 4: Backup create 5: Backup restore/delete 0: Exit #------------------------------------------------------------------------------ # 6: Backup restore/delete #------------------------------------------------------------------------------ Hiermit koennen Backups extrem leicht und komfortabel restauriert oder geloescht werden. Einfach ausprobieren und geniesen. #------------------------------------------------------------------------------ # 5: Backup create #------------------------------------------------------------------------------ Hier koennen einzelne oder alle Backups gemaess Konfiguration manuell durchgefuehrt werden. Zur Abschaetzung des benoetigten Speicherplatzes wird die Groesse der Quell- Verzeichnisse und zuletzt die Gesamtgroesse angezeigt. Bei groessen Backups dauert das einige Zeit, also Geduld bewahren. ACHTUNG bitte lesen: Ein Abbruch mit Ctrl-C kann zur Folge haben, dass die Rotationen zerstoert werden und wichtige Daten verloren gehen. Also bitte immer ohne Unterbrechung durchlaufen lassen. Sollte es dennoch in den Fingern jucken, dann sind sicherheitshalber die betroffenen Backups zu loeschen! #------------------------------------------------------------------------------ # 4: Activate ssh Login #------------------------------------------------------------------------------ Backups via rsync/ssh funktionieren nur, wenn das Einloggen am Remote Server per SSH Key, also automatisch erfolgt. Es ist umstaendlich dies einzurichten, ausser man benutzt diesen Menuepunkt ;-). Funktionsbeschreibung: Das automatisches Login via SSH-Pubkey wird jetzt eingerichtet! 1. Der lokale id_rsa.pub Key wird hierbei ausgelesen oder erzeugt, 2. automatisch an den Remote Server uebertragen und 3. dort in der Datei authorized_keys hinzugefuegt. Anschliessend kann man sich ohne Passwort am Remote Server einloggen. Ihr koennt das beruhigt mal testen, einfach keine Daten eingeben und mir ENTER durchtasten, dann laeuft das Programm mit entsprechenden Hinweisen durch und wird zuletzt wieder beendet. #------------------------------------------------------------------------------ # # Konfiguration # #------------------------------------------------------------------------------ #---------------------------------------------------------------------------- # Here you can mount Harddisks, USB-Devices or Samba-Shares for your Backups. #---------------------------------------------------------------------------- Werden Samba-Shares, Festplatten, etc. zur Datensicherung benutzt, dann ist es moeglich die erforderlichen Daten zum Mounten der Laufwerke einzutragen. MOUNT_N='1' # nr of mounts Hier Anzahl der einzubindenend Laufwerke eintragen (0=kein Laufwerk). BACKUP_MOUNT_1_FS='ext3' # usb_ext3,usb_ext4,usb_vfat,usb_f2fs,smbfs,cifs,ext3,ext4,vfat,f2fs,udf Hinweis: Hier kann jedes von Eisfair unterstuetzte Filesystem eingetragen werden, aber die Partitionierung und Formatierung muss zuvor manuell erfolgen. Fuer USB-Drives entweder usb_ext3 oder usb_vfat eintragen. Fuer DVD-RAM empfehle ich udf, zwecks Windows Kompatibilitaet. Fuer Samba/Windows-Freigaben entweder smbfs (Kernel 2.x) oder cifs (Kernel 3.x). BACKUP_MOUNT_1_OPTIONS='' # mount options f. e. iocharset=utf8; comma separated BACKUP_MOUNT_1_DRV='/dev/hdb1' # drive to mount BACKUP_MOUNT_1_POI='/mnt/disk2' # mount point Das Verzeichnis fuer den Mountpunkt wird automatisch erstellt. BACKUP_MOUNT_1_USER='' # smb user BACKUP_MOUNT_1_PASS='' # smb password Nur fuer Samba Shares erforderlich. Beispiel: BACKUP_MOUNT_2_FS='cifs' BACKUP_MOUNT_2_OPTIONS='iocharset=utf8' BACKUP_MOUNT_2_DRV='//pc1002/eis_backup' BACKUP_MOUNT_2_POI='/mnt/pc1002' BACKUP_MOUNT_2_USER='meier' BACKUP_MOUNT_2_PASS='geheim' Als sind also entfernter Rechner (z. B. pc1002) und Name der Share (z. B. eis_backup) anzugeben. Hierdurch ist es moeglich Sicherungen/Restores von und nach Windows-Freigaben durchzufuehren. #---------------------------------------------------------------------------- # Send Log via Mail after Backups #---------------------------------------------------------------------------- BACKUP_INFO_MAIL='no' # Send Log (yes/no) Soll nach dem Backup ein Mail mit Statusinformationen versendet werden? BACKUP_INFO_MAIL_ADDR='root' # Send Email to ... Mailadresse (auch moeglich z.B. johndow@web.de) #---------------------------------------------------------------------------- # Backup Jobs # Don't change TEC after Backup-Job!!! #---------------------------------------------------------------------------- Hier koennen die automatischen Backups eingerichtet werden. BACKUP_CRON_JOB_N='2' # how many cron jobs you need? (0=no) Anzahl der erforderlichen Cron-Jobs eintragen. BACKUP_CRON_JOB_1='0 1 * * 6' # cron job 1 (m h dm m dw) BACKUP_CRON_JOB_2='0 1 * * 7' # cron job 2 (m h dm m dw) Cron Zeiten fuer die einzelnen Jobs festlegen. Ueberschneidungen moeglichst vermeiden. Soweit alle Backups zur gleichen Zeit laufen koennen, genuegt ein Eintrag. BACKUP_PRE_EXEC='' # run command/script before all jobs Hier kann ein Befehl oder ein Pfad zu einem Script eingetragen werden. Die Ausfuehrung erfolgt vor allen Backups. BACKUP_POST_EXEC='' # run command/script after all jobs Dito, jedoch nach allen Backups. BACKUP_N='1' # nr of backups Anzahl der gewuenschten Backups. BACKUP_1_CRON_JOB='1' # use cron job 1 Welche Cron Tabelle (siehe BACKUP_CRON_JOB_X ) soll fuer dieses Backup verwendet werden? BACKUP_1_PRE_EXEC='' # run command/script before this job Hier kann ein Befehl oder ein Pfad zu einem Script eingetragen werden. Die Ausfuehrung erfolgt vor diesem Backup. z.B. bei MYSQL Sicherung: /etc/init.d/mysql stop BACKUP_1_POST_EXEC='' # run command/script after this job Hier kann ein Befehl oder ein Pfad zu einem Script eingetragen werden. Die Ausfuehrung erfolgt nach diesem Backup. z.B. bei MYSQL Sicherung: /etc/init.d/mysql start BACKUP_1_TEC='gzip' # gzip|bzip2|none|rar|rsyn TEC nicht mehr aendern, sobald Backups durchgefuehrt wurden!!! Backuptechnik auswaehlen: none= .tar Archive ohne Komprimierung (fuer mp3, mpeg, avi, usw.) gzip = .tar.gz Archive (fuer gut komprimierbare Daten) bzip2= .tar.bz2 Archive (dito aber sehr langsam) rar= .rar Archive (rar ist aus Lizenzgruenden nicht enthalten s.o.) rsyn= inkrementelle Kopie (wohl die beste Wahl, es bestehen aber gewisse Einschraenkungen, siehe Hinweise oben) BACKUP_1_TEC_RSYN='-a --delete' # nur fuer tec=rsyn, Parameter fuer rsync Gilt nur fuer tec=rsyn, ansonsten wird dieser Parameter ignoriert. Hier koennen jetzt beliebige rsync Parameter eingegeben werden, um moeglichst flexibel zu sein. z.B. default Einstellung: -a --delete ACL : -aAX --delete ssh backups : -a --delete -e ssh BACKUP_1_TEC_RSYN_SSHP='22' # nur fuer rsync/ssh Backups, SSH Port Werden rsync/ssh Backups von Remote Servern gewuenscht, dann kann hier der SSH Port des Remote Servers eingegeben werden. Beispiel fuer die erforderliche Eintraege eines rsync/ssh Backups: BACKUP_1_TEC_RSYN='-a --delete -e ssh' # rsync per ssh auf Remote Server BACKUP_1_TEC_RSYN_SSHP='4711' # ssh Port des Remote Servers BACKUP_1_SOURCE_DIR='root@iss-systems.no-ip.org:/home' # Benutzer@url:/Verzeichnis Neuer Menuepunkt und Hacks fuer ssh Backups: 1. Fuer rsync/ssh Backups ist eine automatische Authentifizierung per SSH Key erforderlich. Um diese Authentifizierung einfach und schnell einrichten zu koennen, gibt es einen neuen Menuepunkt: 4. Activate ssh Login Funktionsbeschreibung: Das automatisches Login via SSH-Pubkey wird jetzt eingerichtet! 1. Der lokale id_rsa.pub Key wird hierbei ausgelesen oder erzeugt, 2. automatisch an den Remote Server uebertragen und 3. dort in der Datei authorized_keys hinzugefuegt. Anschliessend kann man sich ohne Passwort am Remote Server einloggen. 2. Der Remote Server hat eine dynamische IP. Hierbei wird nach jedem IP Wechsel die neue IP in die Datei ~/.ssh/known_hosts eingetragen und man wird aufgefordert dies mit yes/no zu bestaetigen. Automatischen Backups wuerden hierbei scheitern. Diese Abfrage kann wie folgt umgangen werden: joe ~/.ssh/known_host aendern von iss-systems.no-ip.org,84.163.204.78 ssh-rsa ... zu iss-systems.no-ip.org,84.163.* ssh-rsa ... Hinweis: Hierbei wird die Sicherheit beeintraechtigt. Benutzung auf eigene Gefahr. BACKUP_1_TEC_SIZE='700' # fuer tec=gzip|bzip2|none|rar Gilt nur fuer tec='gzip|bzip2|none|rar', ansonsten wird dieser Parameter ignoiert. Maximale Groesse der einzelnen Backupteile. Ab diesem Wert wird das Backup gesplittet. Hinweis: TEC=gzip|bzip2 Dieser Wert gilt nur fuer die tar-Archive selbst. Wird in TEC gzip oder bzip2 eingetragen, dann werden die tar-Archive zusaetzlich komprimiert. In diesem Fall koennen die Backupteile, je nach Komprimierbarkeit deutlich kleiner werden. Deshalb ist die in Variable BACKUP_1_CS_SIZE eingetragene Zahl lediglich ein Annaeherungswert, wenn als TEC gzip oder bzip2 verwendet wird. TEC=rar Nur rar ist in der Lage gesplittete Archive in der genauen Groesse, wie hier eingetragen zu erstellen. **************************************************************************** *** Achtung: *** *** Keinen zu grossen Wert eingeben. Auf der Sicherungsplatte wird stets *** *** ein Restspeicherplatz in der gleichen Groesse wie dieser Wert *** *** benoetigt, um die rar, tar-Archive packen und entpacken zu koennen. *** *** Empfehlung: 1000 MB moeglichst nicht ueberschreiten *** **************************************************************************** BACKUP_1_ROTATION='3' # nr of rotations (1=no) Die Backups koennen auch rotiert werden. Dann hier die gewuenschte Anzahl der Backupversionen eintragen. 3 bedeutet, es werden 3 Backup Versionen angelegt. Das aktuellste Backup erhaelt stets die Nummer 1 und das aelteste Backup die hoechste Nummer. Wird hier eine 1 eingetragen, so werden keine Rotationen durchgefuehrt. BACKUP_1_SOURCE_DIR='/etc/config.d' # source directory Quellverzeichnis BACKUP_1_SOURCE_DIR_EXCL_N='1' # nr of excludes (0=no) BACKUP_1_SOURCE_DIR_EXCL_1='backup.d' # exclude (z.B. backup.d) Eingabe von Verzeichnissen und Dateien, die vom Backup auszuschliessen sind. Beispiele: TEC=rsyn Verzeichnisse = profile/ Dateien = *.mp3 TEC=none|gzip|bzip2 Verzeichnisse = /home/*/profile Dateien = *.mp3 BACKUP_1_TARGET_DIR='/mnt/disk2/c-sich' # target directory Zielverzeichnis Das Sicherungsverzeichnis innerhalb des Mountpunktes wird automatisch erstellt. BACKUP_1_TARGET_ARC='config' # target archiv name Name des Backup-Archives. Hinweis um Fehlfunktionen auszuschliessen: 1. Hier unter keinen Umstaenden Zahlen eintragen. 2. Eigenstaendiger Namen fuer jedes Backup erforderlich. #------------------------------------------------------------------------------ # Festplatte ruhig stellen ... #------------------------------------------------------------------------------ IDE Festplatten (z.B. hdb) koennen in Standby Modus versetzt werden: 1. cd /etc/init.d 2. joe boot 3. am Ende hinzufuegen ---> hdparm -c 1 -d 1 -S 240 /dev/hdb 4. speichern -c 1 ---> setting 32-bit I/O Support eingeschaltet Bei alten Festplatten auf -c 0 setzen! -d 1 ---> dma Modus 1 DMA-Modus eingeschaltet Bei alten Festplatten auf -d 0 setzen! -S 240 -> Standby nach 240 x 5sec (nach 20 Minuten) Die hdparm -S Parameter: 0: disable 1-240: 240 5s Intervalle (5s bis 20 min Timeout) 241-251: 11 30min Intervalle (30 min bis 5,5h) 252: 21min Timeout 253: Herstellerdefinierter Timeout 255: 21min 15s Timeout Hinweis: Leider funktioniert dies mit SATA, SCSI Festplatten und RAID nicht. #------------------------------------------------------------------------------ Bei der Entwicklung sind und waren beteiligt: Hans-Peter Seiler (Idee, Programmierung, Weiterentwicklung) Maximilian Pasternak (hat mir zu Beginn mit vielen Programmier-Tipps unendlich geholfen, herzlichen Dank) Thomas Bork (Hilfe bei neuer tar- und gzip Version sowie Samba- Sicherungen, herzlichen Dank) Probleme und Verbesserungsvorschlaege per Mail an gmx.de>