95 lines
3.6 KiB
Markdown
95 lines
3.6 KiB
Markdown
---
|
|
keywords:
|
|
- IT
|
|
-
|
|
---
|
|
## Backup odroid NAS
|
|
|
|
### onsite backup
|
|
```
|
|
/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
|
|
sudo sfdisk -d /dev/mmcblk0 > $backupDir/partition_table.txt
|
|
sudo sfdisk /dev/mmcblk0 < $backupDir/partition_table.txt
|
|
#backup bootloader
|
|
#get first partition sector
|
|
sudo sfdisk -l /dev/mmcblk0
|
|
|
|
#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
|
|
|
|
#backup ext4 partition while mounted
|
|
$ sudo fsarchiver -o -v -A -j 4 savefs $backupDir/partition_2.fsa /dev/mmcblk0p1
|
|
```
|
|
### 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
|
|
```
|
|
|
|
/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
|
|
|
|
## 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.
|
|
`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'
|
|
|
|
``` |