know-how:backup
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
know-how:backup [2019/10/22 09:40] – [rsnapshot] cc | know-how:backup [2024/04/30 13:10] (aktuell) – [rsnapshot] cc | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ~~ODT~~ | ||
+ | ====== Prinzipien ====== | ||
+ | * Generelle Punkte unabhängig von der eingesetzten Lösung | ||
+ | * Diese Fragen sind essentiell für eine funktionierende Backup/ | ||
+ | |||
+ | * Hast du eine Backup Lösung ? | ||
+ | * Wurde definiert welche Daten das Backup beinhalten soll ? | ||
+ | * Werden bestimmte Zustände deiner Daten zu bestimmten Zeitpunkten festgehalten ? | ||
+ | * Wurde definiert wie lange bestimmte Zustände für ein Restore verfügbar sein müssen ? | ||
+ | * Gibt es gesetzliche Verpflichtungen für die Dauer der Aufbewahrung und Qualität der Backups ? | ||
+ | * Wo liegen die Backup Daten physikalisch ? | ||
+ | * Wie wird der Raum in dem sich die Daten physikalisch befinden gesichert ? | ||
+ | * Sind die Daten gegen Diebstahl / Blitzschlag / Überschwemmungen gesichert ? | ||
+ | * Was passiert bei Ereignissen **" | ||
+ | * Gibt es zumindest einen 2. Standort deiner Backup Daten ? | ||
+ | * Ist es möglich die Integrität des Backups zu überprüfen ? | ||
+ | * Wurde schon einmal ein Restore durchgeführt ? | ||
+ | * Kannst du selbstständig einen Restore durchführen ? | ||
+ | * Wie lange hat der Restore gedauert ? | ||
+ | * Welche Softwarelösungen zB: Betriebssystem / Basis werden für den Restore benötigt ? | ||
+ | * Welche Lizenzen werden benötigt um einen Restore durchzuführen ? | ||
+ | |||
+ | |||
====== Windows ====== | ====== Windows ====== | ||
* Windows Sicherung muss installiert sein | * Windows Sicherung muss installiert sein | ||
* Generiert VHDX Datein die gemountet werden können | * Generiert VHDX Datein die gemountet werden können | ||
+ | |||
+ | |||
===== Externer SAMBA Server rotierend ===== | ===== Externer SAMBA Server rotierend ===== | ||
Zeile 86: | Zeile 111: | ||
exit | exit | ||
</ | </ | ||
+ | |||
===== Hyper-V Guests auf Festplatte rotierend ===== | ===== Hyper-V Guests auf Festplatte rotierend ===== | ||
Zeile 114: | Zeile 140: | ||
echo " | echo " | ||
</ | </ | ||
+ | |||
+ | |||
+ | ===== Restore mit Windows Boardmitteln ===== | ||
+ | * Über zB: Windows 10 iso / reparieren / System Image wiederherstellen / Im Netzwerk suchen | ||
+ | * Windows kann grundsätzlich vhdx Dateien als virtuelle Datenträger einbinden zB: über die " | ||
+ | * **Achtung** | ||
+ | * BIOS/UEFI beachten | ||
+ | * Ziel Datenträger muss mindestens gleich groß /größer sein (think thin Provisioning für restore) | ||
+ | * Format für die Eingabe von Benutzername: | ||
===== Duplicati 2 - verschlüsseltes Cloud Backup ===== | ===== Duplicati 2 - verschlüsseltes Cloud Backup ===== | ||
Zeile 132: | Zeile 167: | ||
* Wiederherstellung von einzelnen Dateien hat beim Testen funktioniert war jedoch **sehr** langsam | * Wiederherstellung von einzelnen Dateien hat beim Testen funktioniert war jedoch **sehr** langsam | ||
+ | |||
+ | ===== Urbackup ===== | ||
+ | * https:// | ||
+ | |||
+ | * Fehler Referenzmaschine war " | ||
+ | < | ||
+ | 2019-11-06 06:31:52: ERROR: Not found | ||
+ | 2019-11-06 06:31:56: ERROR: backupcom-> | ||
+ | 2019-11-06 06:31:56: ERROR: VSS provider information: | ||
+ | 2019-11-06 06:31:56: ERROR: Anbietername: | ||
+ | 2019-11-06 06:31:56: ERROR: Anbietertyp: | ||
+ | 2019-11-06 06:31:56: ERROR: Anbieterkennung: | ||
+ | 2019-11-06 06:31:56: ERROR: Version: 1.0.0.0 | ||
+ | 2019-11-06 06:31:56: ERROR: Anbietername: | ||
+ | 2019-11-06 06:31:56: ERROR: Anbietertyp: | ||
+ | 2019-11-06 06:31:56: ERROR: Anbieterkennung: | ||
+ | 2019-11-06 06:31:56: ERROR: Version: 1.0.0.7 | ||
+ | 2019-11-06 06:31:56: ERROR: Creating shadowcopy of " | ||
+ | 2019-11-06 06:31:56: ERROR: Creating shadow copy failed. See client log file for details. | ||
+ | 2019-11-06 07:12:01: ERROR: Not found | ||
+ | 2019-11-06 07:12:03: ERROR: backupcom-> | ||
+ | 2019-11-06 07:12:03: ERROR: VSS provider information: | ||
+ | 2019-11-06 07:12:03: ERROR: Anbietername: | ||
+ | 2019-11-06 07:12:03: ERROR: Anbietertyp: | ||
+ | 2019-11-06 07:12:03: ERROR: Anbieterkennung: | ||
+ | 2019-11-06 07:12:03: ERROR: Version: 1.0.0.0 | ||
+ | 2019-11-06 07:12:03: ERROR: Anbietername: | ||
+ | 2019-11-06 07:12:03: ERROR: Anbietertyp: | ||
+ | 2019-11-06 07:12:03: ERROR: Anbieterkennung: | ||
+ | 2019-11-06 07:12:03: ERROR: Version: 1.0.0.7 | ||
+ | 2019-11-06 07:12:03: ERROR: Creating shadowcopy of " | ||
+ | 2019-11-06 07:12:03: ERROR: Creating shadow copy failed. See client log file for details. | ||
+ | |||
+ | </ | ||
+ | |||
+ | * **Lösung**: | ||
+ | < | ||
+ | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Providers\{74600e39-7dc5-4567-a03b-f091d6c7b092}] | ||
+ | |||
+ | " | ||
+ | </ | ||
+ | |||
+ | * Bei der ISO Datei für den **Restore wird Kernel 4.19 (Debian)** verwendet | ||
+ | * Eintrag für PXE BIOS Boot über TFTP (https:// | ||
+ | |||
+ | < | ||
+ | LABEL UrBackup Restore | ||
+ | menu label Urbackup Restore Backup | ||
+ | kernel urbackup/ | ||
+ | append initrd=urbackup/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | * **Migration** von Urbackup Server Installation **ohne Backupdaten** jedoch mit Einstellungen von altem System (2016 Standard) auf neues System (2019 Standard) | ||
+ | * Installation gleiche Serverversion wie auf "altem System" | ||
+ | * Deaktivieren und beenden von Urbackup Server Dienst auf altem und neuem System | ||
+ | * Kopieren von C: | ||
+ | * Verzeichnis / Laufwerk für Backup wie auf altem System auf neuem System erstellen | ||
+ | * Urbackup Server Dienst wieder starten -> sobald die Clients im Web Menü sichtbar werden - vollständige Abbildsicherung auslösen / IP vom alten System muss **nicht** übernommen werden | ||
+ | ===== Altaro ===== | ||
+ | * Altaro 8 - **nw.js** Screen / Windows 2019 Standard (https:// | ||
+ | * **Ausloggen** und neu einloggen / beim Check von **%Temp%** existiert das Verzeichnis nicht mehr | ||
+ | |||
+ | * Bei den Einstellungen VSS Copy beachten bei virtuellen Domain Controllern ! | ||
+ | * Scheduled Test Restores einrichten und die Daten des Backups regelmäßig überprüfen lassen | ||
+ | * Notifications per E-Mail konfigurieren / für den Fall dass sie nicht funktioniert haben | ||
+ | ====== HP Aruba ====== | ||
+ | * Für Cronjob siehe "HP Pro Curve" | ||
+ | * SSH Server Keys müssen bereits " | ||
+ | * **backup-aruba.expect** | ||
+ | < | ||
+ | # | ||
+ | |||
+ | set timeout 60 | ||
+ | |||
+ | log_user 0 | ||
+ | |||
+ | spawn ssh USERNAME@[lindex $argv 0] | ||
+ | |||
+ | |||
+ | expect " | ||
+ | send " | ||
+ | |||
+ | #2021-02-08 cc: think wisely if you want to send password as argument to call | ||
+ | #send " | ||
+ | |||
+ | expect " | ||
+ | |||
+ | send " | ||
+ | |||
+ | expect "#" | ||
+ | |||
+ | send " | ||
+ | |||
+ | expect "#" | ||
+ | |||
+ | log_user 1 | ||
+ | |||
+ | send "show config\r" | ||
+ | |||
+ | expect "#" | ||
+ | |||
+ | |||
+ | send " | ||
+ | |||
+ | expect ">" | ||
+ | |||
+ | send " | ||
+ | |||
+ | expect "?" | ||
+ | |||
+ | send " | ||
+ | |||
+ | expect eof | ||
+ | |||
+ | </ | ||
+ | ====== HPE Comware | ||
+ | * Für Cronjob siehe "HP Pro Curve" | ||
+ | * SSH Server Keys müssen bereits " | ||
+ | * **backup-hp-comware-switches.expect** | ||
+ | |||
+ | < | ||
+ | # | ||
+ | |||
+ | set timeout 60 | ||
+ | |||
+ | spawn ssh admin@[lindex $argv 0] | ||
+ | |||
+ | expect " | ||
+ | send " | ||
+ | #2021-02-08 cc: think wisely if you want to send password as argument to call | ||
+ | #send " | ||
+ | |||
+ | expect ">" | ||
+ | |||
+ | send " | ||
+ | |||
+ | expect " | ||
+ | |||
+ | send " | ||
+ | |||
+ | expect " | ||
+ | |||
+ | send " | ||
+ | |||
+ | expect ">" | ||
+ | |||
+ | send " | ||
+ | |||
+ | expect ">" | ||
+ | |||
+ | send "show current-configuration\r" | ||
+ | |||
+ | expect ">" | ||
+ | |||
+ | send " | ||
+ | </ | ||
====== HP Pro Curve ====== | ====== HP Pro Curve ====== | ||
Zeile 151: | Zeile 343: | ||
set ip_address [lindex $argv 0]; | set ip_address [lindex $argv 0]; | ||
set prompt "#" | set prompt "#" | ||
- | set username "USERNAME_SWITCHES\r" | + | set username "USERNAME\r" |
- | set password "PASSWORD_SWITCHES\r" | + | set password "PASSWORD\r" |
log_user 0 | log_user 0 | ||
Zeile 161: | Zeile 353: | ||
send $password | send $password | ||
expect $prompt | expect $prompt | ||
- | | + | send " |
- | | + | |
expect $prompt | expect $prompt | ||
- | | + | set timeout 120 |
log_user 1 | log_user 1 | ||
send "show config\r" | send "show config\r" | ||
expect $prompt | expect $prompt | ||
- | | + | set timeout 20 |
- | # Sending ' | + | |
send " | send " | ||
+ | expect ">" | ||
+ | send " | ||
+ | expect "?" | ||
+ | send " | ||
expect eof | expect eof | ||
+ | |||
</ | </ | ||
====== Linux ====== | ====== Linux ====== | ||
+ | |||
+ | |||
+ | ===== qemu-utils ===== | ||
+ | * VHDX aus Backup auf Fileserver mounten - ohne der gleichen Anzahl an dependencies wie bei guestmount | ||
+ | |||
+ | < | ||
+ | Mount vhdx from backups: | ||
+ | apt install qemu-utils | ||
+ | |||
+ | | ||
+ | |||
+ | |||
+ | root@file: | ||
+ | |||
+ | |||
+ | |||
+ | root@file: | ||
+ | 0 | ||
+ | |||
+ | |||
+ | root@file: | ||
+ | NAME | ||
+ | fd0 2:0 1 | ||
+ | sr0 | ||
+ | nbd0 43:0 0 931.7G | ||
+ | ├─nbd0p1 | ||
+ | └─nbd0p2 | ||
+ | vda 254:0 0 50G 0 disk | ||
+ | └─vda1 | ||
+ | vdb 254: | ||
+ | |||
+ | root@file: | ||
+ | Reading package lists... Done | ||
+ | Building dependency tree... Done | ||
+ | Reading state information... Done | ||
+ | The following additional packages will be installed: | ||
+ | fuse libntfs-3g883 | ||
+ | Suggested packages: | ||
+ | fdisk | ||
+ | The following NEW packages will be installed: | ||
+ | fuse libntfs-3g883 ntfs-3g | ||
+ | 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. | ||
+ | Need to get 581 kB/653 kB of archives. | ||
+ | After this operation, 2,043 kB of additional disk space will be used. | ||
+ | Do you want to continue? [Y/n] y | ||
+ | Get:1 http:// | ||
+ | Get:2 http:// | ||
+ | Fetched 581 kB in 1s (779 kB/s) | ||
+ | Selecting previously unselected package fuse. | ||
+ | (Reading database ... 42107 files and directories currently installed.) | ||
+ | Preparing to unpack .../ | ||
+ | Unpacking fuse (2.9.9-5) ... | ||
+ | Selecting previously unselected package libntfs-3g883. | ||
+ | Preparing to unpack .../ | ||
+ | Unpacking libntfs-3g883 (1: | ||
+ | Selecting previously unselected package ntfs-3g. | ||
+ | Preparing to unpack .../ | ||
+ | Unpacking ntfs-3g (1: | ||
+ | Setting up fuse (2.9.9-5) ... | ||
+ | update-initramfs: | ||
+ | Setting up libntfs-3g883 (1: | ||
+ | Setting up ntfs-3g (1: | ||
+ | Processing triggers for libc-bin (2.31-13+deb11u8) ... | ||
+ | Processing triggers for man-db (2.9.4-2) ... | ||
+ | Processing triggers for initramfs-tools (0.140) ... | ||
+ | update-initramfs: | ||
+ | |||
+ | |||
+ | root@file: | ||
+ | |||
+ | |||
+ | Umount: | ||
+ | |||
+ | vorher umount /mnt/tmp | ||
+ | |||
+ | root@file:/# | ||
+ | /dev/nbd0 disconnected | ||
+ | |||
+ | root@file: | ||
+ | |||
+ | </ | ||
+ | |||
Zeile 269: | Zeile 546: | ||
</ | </ | ||
+ | * **backup-lvm-files.sh** | ||
+ | * Um einen LVM Snapshot read only zu mounten und dann per RSYNC mit einem Verzeichnis zu syncen / kann mit rsnapshot backup_exec kombiniert werden | ||
+ | < | ||
+ | #!/bin/bash | ||
+ | |||
+ | |||
+ | function bailout () | ||
+ | { | ||
+ | |||
+ | echo -e " | ||
+ | |||
+ | [ -z " | ||
+ | |||
+ | exit 2 | ||
+ | |||
+ | } | ||
+ | |||
+ | function usage () | ||
+ | { | ||
+ | echo -e " | ||
+ | exit 1 | ||
+ | |||
+ | |||
+ | } | ||
+ | |||
+ | RSYNC_DEFAULT_OPTIONS=" | ||
+ | |||
+ | RSYNC_DEFAULT_OPTIONS_ARRAY=($RSYNC_DEFAULT_OPTIONS) | ||
+ | |||
+ | ARGUMENTS=$# | ||
+ | SIZE_SNAPSHOT=" | ||
+ | BUFFER=" | ||
+ | |||
+ | TMP_MOUNT_POINT="/ | ||
+ | |||
+ | which lvcreate > /dev/null || bailout " | ||
+ | which lvremove > /dev/null || bailout " | ||
+ | which rsync > /dev/null || bailout "rsync not found" | ||
+ | which kpartx > /dev/null || bailout " | ||
+ | which mount > /dev/null || bailout "mount not found" | ||
+ | which mountpoint > /dev/null || bailout " | ||
+ | |||
+ | |||
+ | if [ $ARGUMENTS != 2 ] && | ||
+ | then | ||
+ | |||
+ | bailout " | ||
+ | |||
+ | fi | ||
+ | |||
+ | LVM_PATH=" | ||
+ | BACKUP_DIRECTORY=" | ||
+ | RSYNC_CUSTOM_OPTIONS=" | ||
+ | |||
+ | [ -n " | ||
+ | |||
+ | |||
+ | [ ! -r $LVM_PATH ] && bailout "FAIL: Cannot read $LVM_PATH VOLUME" | ||
+ | |||
+ | [ ! -d $BACKUP_DIRECTORY ] && bailout "FAIL: $BACKUP_DIRECTORY is already here aborting" | ||
+ | |||
+ | [ ! -d $TMP_MOUNT_POINT ] && bailout "FAIL: $TMP_MOUNT_POINT directory not found" | ||
+ | |||
+ | mountpoint -q $TMP_MOUNT_POINT && bailout "FAIL: $TMP_MOUNT_POINT is already mounted FAIL" | ||
+ | |||
+ | LVM_NAME=$(echo ${LVM_PATH## | ||
+ | |||
+ | LVM_NAME_SNAPSHOT=" | ||
+ | |||
+ | LVM_PATH_SNAPSHOT=" | ||
+ | |||
+ | [ -r $LVM_PATH_SNAPSHOT ] && bailout "FAIL: Snapshot: $LVM_PATH_SNAPSHOT already here aborting" | ||
+ | |||
+ | lvcreate -L $SIZE_SNAPSHOT -s -n $LVM_NAME_SNAPSHOT $LVM_PATH > /dev/null || bailout "FAIL: Could not create Snapshot: $LVM_NAME_SNAPSHOT" | ||
+ | |||
+ | |||
+ | [ $? == " | ||
+ | |||
+ | |||
+ | MOUNT_PATH=" | ||
+ | |||
+ | DEVICE_MAPPER_ENTRY=$(kpartx -av $LVM_PATH_SNAPSHOT) | ||
+ | |||
+ | RETURN_SUCCESS=$? | ||
+ | |||
+ | [ $? != " | ||
+ | |||
+ | DEVICE_MAPPER_ENTRY=$(echo $DEVICE_MAPPER_ENTRY | cut -f 3 -d" ") | ||
+ | |||
+ | [ -z $DEVICE_MAPPER_ENTRY ] || MOUNT_PATH="/ | ||
+ | |||
+ | |||
+ | mount -o ro " | ||
+ | |||
+ | |||
+ | rsync " | ||
+ | |||
+ | RETURN_RSYNC=$? | ||
+ | |||
+ | umount $TMP_MOUNT_POINT | ||
+ | |||
+ | kpartx -dv $LVM_PATH_SNAPSHOT > /dev/null | ||
+ | |||
+ | lvremove -q -f $LVM_PATH_SNAPSHOT > /dev/null | ||
+ | |||
+ | exit $RETURN_RSYNC | ||
+ | </ | ||
* **integ.sh** | * **integ.sh** | ||
Zeile 409: | Zeile 793: | ||
* rsnapshot mit **borg** **cron job** | * rsnapshot mit **borg** **cron job** | ||
- | * In der Konfiguration der rsnapshot Backups existiert nur mehr daily.0 d.h. **retain daily 1** | + | * In der Konfiguration der rsnapshot Backups existiert nur mehr daily.0 d.h. **retain daily 1** und beide Backup Jobs (customers und pannoniait) müssen bereits **abgeschlossen** sein |
< | < | ||
Zeile 419: | Zeile 803: | ||
</ | </ | ||
- | ===== borg ===== | + | ===== borg - generell |
* Backup Tests mit borg - Achtung **unverschlüsselt** da Testgerät ohnehin **vollverschlüsselt** ist | * Backup Tests mit borg - Achtung **unverschlüsselt** da Testgerät ohnehin **vollverschlüsselt** ist | ||
+ | * Ganze LVM Devices basierend auf Snapshot backupppen - sollte konsistent sein **backup-lvm-drive-borg.sh** | ||
+ | < | ||
+ | #!/bin/bash | ||
+ | |||
+ | function bailout () | ||
+ | { | ||
+ | |||
+ | echo -e " | ||
+ | exit 2 | ||
+ | |||
+ | } | ||
+ | |||
+ | function usage () | ||
+ | { | ||
+ | echo -e " | ||
+ | exit 1 | ||
+ | |||
+ | |||
+ | } | ||
+ | |||
+ | # LVM PATH / generate LVM snapshot name suffix snapshot / compress devices / output PATH | ||
+ | |||
+ | ARGUMENTS=$# | ||
+ | SIZE_SNAPSHOT=" | ||
+ | BORG_NR_TO_KEEP=" | ||
+ | |||
+ | which lvcreate > /dev/null || bailout " | ||
+ | which borg > /dev/null || bailout "borg cannot be found" | ||
+ | which lvremove > /dev/null || bailout " | ||
+ | |||
+ | [ $ARGUMENTS -lt 2 ] && bailout " | ||
+ | |||
+ | BACKUP_REPOSITORY=$(echo $1 | cut -d: -f 1) | ||
+ | |||
+ | [ -r $BACKUP_REPOSITORY ] || bailout "FAIL: $BACKUP_REPOSITORY cannot be read" | ||
+ | |||
+ | [ -w $BACKUP_REPOSITORY ] || bailout "FAIL: $BACKUP_REPOSITORY cannot be written to" | ||
+ | |||
+ | for i in " | ||
+ | |||
+ | LVM_PATH=" | ||
+ | LVM_PATH_SNAPSHOT=" | ||
+ | | ||
+ | [ ! -r $LVM_PATH ] && bailout "FAIL: Cannot read \" | ||
+ | [ -r $LVM_PATH_SNAPSHOT ] && bailout "FAIL: Attention snapshot still there: $LVM_PATH_SNAPSHOT" | ||
+ | done | ||
+ | |||
+ | lvm_snapshots="" | ||
+ | |||
+ | for i in " | ||
+ | |||
+ | LVM_PATH=" | ||
+ | LVM_PATH_SNAPSHOT=" | ||
+ | | ||
+ | lvcreate -L $SIZE_SNAPSHOT -s -n $LVM_PATH_SNAPSHOT $LVM_PATH > /dev/null || bailout "FAIL: Could not create Snapshot: $LVM_NAME_SNAPSHOT" | ||
+ | lvm_snapshots=" | ||
+ | done | ||
+ | |||
+ | borg create --stats --compression=lz4 --read-special " | ||
+ | |||
+ | RET_CODE_BORG=" | ||
+ | |||
+ | for i in " | ||
+ | |||
+ | LVM_PATH=" | ||
+ | LVM_PATH_SNAPSHOT=" | ||
+ | |||
+ | lvremove -q -f $LVM_PATH_SNAPSHOT >/ | ||
+ | done | ||
+ | |||
+ | borg prune --keep-last $BORG_NR_TO_KEEP $BACKUP_REPOSITORY | ||
+ | |||
+ | exit $RET_CODE_BORG | ||
+ | |||
+ | </ | ||
+ | |||
* Durchgeführt auf Kali Linux - Debian Testing | * Durchgeführt auf Kali Linux - Debian Testing | ||
< | < | ||
Zeile 469: | Zeile 929: | ||
root@mrChief:/ | root@mrChief:/ | ||
+ | </ | ||
+ | |||
+ | ===== borg - hetzner storage | ||
+ | < | ||
+ | 1. key verteilen | ||
+ | |||
+ | https:// | ||
+ | |||
+ | root@mrStorage: | ||
+ | The authenticity of host ' | ||
+ | RSA key fingerprint is SHA256: | ||
+ | Are you sure you want to continue connecting (yes/no)? yes | ||
+ | Warning: Permanently added ' | ||
+ | u12345678@u12345678.your-storagebox.de' | ||
+ | Connected to u12345678@u12345678.your-storagebox.de. | ||
+ | sftp> mkdir .ssh | ||
+ | sftp> | ||
+ | Changing mode on /.ssh | ||
+ | sftp> | ||
+ | Uploading / | ||
+ | / | ||
+ | sftp> | ||
+ | Changing mode on / | ||
+ | |||
+ | |||
+ | |||
+ | 2. Repo initialisieren | ||
+ | |||
+ | borg init --encryption=keyfile | ||
+ | |||
+ | Keymaterial befindet sich ausschließlich auf " | ||
+ | |||
+ | 3. Backup Keys exportieren - es wird Keyfile und Passphrase benötigt - backup des keyfiles | ||
+ | |||
+ | borg key export | ||
+ | |||
+ | 3. Common Commands | ||
+ | |||
+ | root@mrStorage: | ||
+ | - / | ||
+ | |||
+ | root@mrStorage: | ||
+ | Enter passphrase for key / | ||
+ | A / | ||
+ | |||
+ | root@mrStorage: | ||
+ | - / | ||
+ | |||
+ | root@mrStorage: | ||
+ | Enter passphrase for key / | ||
+ | Location: ssh:// | ||
+ | Encrypted: Yes (key file) | ||
+ | Key file: / | ||
+ | ------------------------------------------------------------------------------ | ||
+ | | ||
+ | All archives: | ||
+ | |||
+ | | ||
+ | Chunk index: | ||
+ | |||
+ | root@mrStorage: | ||
+ | Enter passphrase for key / | ||
+ | 2020-03-05T23: | ||
+ | |||
+ | root@mrStorage: | ||
+ | Enter passphrase for key / | ||
+ | |||
+ | </ | ||
+ | * **/ | ||
+ | |||
+ | < | ||
+ | |||
+ | #!/bin/bash | ||
+ | |||
+ | export BORG_PASSPHRASE=" | ||
+ | REPOSITORY=" | ||
+ | |||
+ | DIRECTORIES="/ | ||
+ | |||
+ | HOST=$(hostname --fqdn) | ||
+ | |||
+ | START_TIME=$(date +%Y.%m.%d-%H.%M.%S) | ||
+ | |||
+ | date1=$(date -u +" | ||
+ | |||
+ | echo -e " | ||
+ | |||
+ | #2020-04-08 cc: Achtung sonst konsumiert er den gesamten Upload und die Leitung steht daher: Rate limit ~6 Mbit upload / bei 10Mbit verfügbarem Upload | ||
+ | |||
+ | borg create --compression lz4 --stats --remote-ratelimit 700 --exclude ' | ||
+ | |||
+ | |||
+ | [[ $? == " | ||
+ | |||
+ | END_TIME=$(date +%Y.%m.%d-%H.%M.%S) | ||
+ | |||
+ | date2=$(date -u +" | ||
+ | diff=$(($date2-$date1)) | ||
+ | |||
+ | echo " | ||
+ | echo " | ||
+ | |||
+ | echo -e " | ||
</ | </ | ||
===== triggered ===== | ===== triggered ===== | ||
Zeile 671: | Zeile 1234: | ||
===== etc ===== | ===== etc ===== | ||
* rsync für blockdevices Kopieren " | * rsync für blockdevices Kopieren " | ||
+ | * **Update** | ||
+ | < | ||
+ | rsync (3.2.0-1) unstable; urgency=low | ||
+ | |||
+ | This latest release changed two parameters which used to be present on the | ||
+ | Debian packaging of rsync as upstream now integrated the patches. | ||
+ | |||
+ | Previous parameter: | ||
+ | --copy-devices: | ||
+ | Is now called: --write-devices | ||
+ | </ | ||
+ | |||
+ | |||
< | < | ||
Zeile 696: | Zeile 1272: | ||
sent 1,009,903 bytes received 505,075 bytes 5,439.78 bytes/sec | sent 1,009,903 bytes received 505,075 bytes 5,439.78 bytes/sec | ||
</ | </ | ||
+ | |||
+ | |||
+ | * rsync - Ausgabe ob etwas geändert werden würde - dry run und count | ||
+ | * **rsync -iaun --delete foo1/ foo2/ | wc -l** | ||
+ | < | ||
+ | 0 | ||
+ | </ | ||
+ |
know-how/backup.txt · Zuletzt geändert: 2024/04/30 13:10 von cc