gedankensplitter/backupNAS.md

95 lines
3.6 KiB
Markdown
Raw Normal View History

2022-02-01 20:34:39 +00:00
---
keywords:
- IT
2022-07-27 11:58:20 +00:00
-
2022-02-01 20:34:39 +00:00
---
2022-03-27 18:17:44 +00:00
## Backup odroid NAS
2022-02-01 20:34:39 +00:00
2022-06-26 11:08:27 +00:00
### onsite backup
2022-02-01 20:34:39 +00:00
```
/dev/mmcblk0
http://www.fsarchiver.org/Main_Page
Full Backup, wöchentlich
dd if=/dev/mmcblk0 bs=1M |pv | dd of=$backupDir/backup.img
MBR/EBR backup
sudo apt-get install sfdisk
2022-06-26 11:08:27 +00:00
sudo sfdisk -d /dev/mmcblk0 > $backupDir/partition_table.txt
2022-02-01 20:34:39 +00:00
sudo sfdisk /dev/mmcblk0 < $backupDir/partition_table.txt
#backup bootloader
#get first partition sector
sudo sfdisk -l /dev/mmcblk0
2022-06-26 11:08:27 +00:00
2022-02-01 20:34:39 +00:00
#backup bootloader
sudo dd if=/dev/mmcblk0 of=$backupDir/bootloader.bin bs=512 count=$BeginSektor
#restore bootloader
sudo dd if=$backupDir/bootloader.bin of=/dev/mmcblk0 bs=512 skip=1 seek=1
#Bootstrap restore
sudo dd if=$backupDir/bootloader.bin of=/dev/mmcblk0 bs=446 count=1
2022-06-26 11:08:27 +00:00
2022-02-01 20:34:39 +00:00
#backup ext4 partition while mounted
$ sudo fsarchiver -o -v -A -j 4 savefs $backupDir/partition_2.fsa /dev/mmcblk0p1
```
2022-06-26 11:08:27 +00:00
### offline backup
```
# copy 'empty' blocks to preserve partition table, bootloader, second bootloader..
sudo dd if=/dev/mmcblk0 of=/dev/sdc bs=512 count=8192
# backup partition table separately
sudo sfdisk -d /dev/mmcblk0 > partition_table.txt
# restore partition table to match partitions uuids, patch different partitions size! (like whole sectors minus beginning sector)
sudo sfdisk /dev/mmcblk0 < partition_table.txt
#restore root partition after offsite image backup
sudo partclone.ext4 -d2 -b -s /dev/loop0p1 -o /dev/sdc1
```
2022-02-01 20:34:39 +00:00
/etc
-inkrementelles Backup
-merge Backups (welche Kriterien)
-verschlüsselt (ssl keys)
http://dar.linux.free.fr/doc/mini-howto/dar-differential-backup-mini-howto.en.html#the-backup-strategy
dar -c /mnt/backup/etc_initial --compression=lzo -s 50M -M -R /etc --hash sha1 --user-comment "%d: %c" -Z "*.gz" -Z "*.bz2" -Z "*.zip" -Z "*.png"
dar -C /mnt/backup/etc_`date -I`.cat /mnt/backup/etc_initial --user-comment "%d: %c"
dar -c /mnt/backup/etc_initial --compression=lzo -s 50M -M -R /etc --hash sha1 --user-comment "%d: %c" -Z "*.gz" -Z "*.bz2" -Z "*.zip" -Z "*.png" -A /mnt/backup/etc_initial
/var/*
-incrementelles Backup
-merge Backups (welche Kriterien)
-verschlüsselt (ssl keys)
/home/*
-syncthing
--Fullbackup
--täglich Datenbank und config sichern
-verschlüsselt (ssl keys)
/root
--Fullbackup
-verschlüsselt (ssl keys)
Nextcloud
--täglich Datenbank Dump und cloud_data
-verschlüsselt
2022-06-09 19:50:05 +00:00
## duplicati backend
### client
the data source aka client holds a local database to be fast. this db does not get copied to the remote target. the remote target only contains `dlist.zip.aes`, `dindex.zip.aes` and `dblock.zip.aes` files.
2022-10-16 08:34:58 +00:00
`duplicati-cli repair {filepath}`
### .bashrc
```
alias hddapm='for dev in /dev/sd?; do echo -n "$dev : "; hdparm -B $dev | grep -E "APM"; done; echo ""'
alias hddlongresult='for dev in /dev/sd?; do echo -n "$dev : "; smartctl -a -n standby $dev | grep "# 1"; done; echo "";'
alias hddlongtest='for dev in /dev/sd?; do echo -n "$dev : "; smartctl -t long $dev | grep "complete after" ; done; echo ""'
alias hddspindown='for dev in /dev/sd?; do echo -n "$dev : "; hdparm -y $dev; done;'
alias hddstatus='for dev in /dev/sd?; do echo -n "$dev : "; smartctl -i -n standby $dev | grep -E "ACTIVE|IDLE|STANDBY"; done; echo ""'
alias l='ls $LS_OPTIONS -lA'
alias ll='ls $LS_OPTIONS -l'
alias ls='ls $LS_OPTIONS'
alias lsuuid='lsblk -o +uuid,name'
alias scrubstatus='for dev in /srv/dev-disk-by-label*; do echo -n "$dev : "; btrfs scrub status $dev | grep -E "Status|ETA"; done; echo ""'
alias smartstatus='for dev in /dev/sd?; do echo -n "$dev : "; smartctl -a -n standby $dev | grep "in_progress" ; done; echo ""'
alias snapraidscrub='snapraid -o 10 -p 100 scrub'
alias update='apt update && apt -t bullseye-backports dist-upgrade'
```