Backup
Säkerhetskopiering
Section titled “Säkerhetskopiering”Säkerhetskopiering av hemdisk
Section titled “Säkerhetskopiering av hemdisk”Hemdisk säkerhetskopieras regelbundet (4 gånger per dygn). Servern som säkerhetskopieringen sker mot en server som är betydligt mindre än hemdisk (Hermaeus) så om en större datamängd ska lagras som inte kräver säkerhetskopiering (till exempel om hemdisk används för just säkerhetskopiering) så behöver den exkluderas från säkerhetskopieringen.
Exkludera data från att säkerhetskopieras genom att skapa filen .nobackup i mappen som ska exkluderas.
Använda cpu-servar för att säkerhetskopiera data
Section titled “Använda cpu-servar för att säkerhetskopiera data”Detta går självklart att tillämpa för säkerhetskopiering mot andra system Det enklaste sättet att säkerhetskopiera egen data till hemdisk är att använda rsync. Däremot har det ett antal nackdelar:
- Nya versioner av filer skriver över de gamla så om en fil modifieras (felaktigt) och sedan säkerhetskopieras så går det inte att återställa den tidigare versionen.
- Filerna ligger okrypterade på servern.
Båda problemen kan lösas genom att använda för ändamålet skapade program. Två välanvända program med gott anseende är restic och borg. Nedan beskrivs hur man kan sätta upp restic.
- Skapa en SSH-nyckel för det (kontot som ska genomföra säkerhetskopieringen) utan lösenord och lägg till den i din
authorized_keys(om lösenord behöver skrivas in går det inte att automatisera). Skydda nyckeln väl. - Skapa ett avsnitt i
~/.ssh/configför kontot som ska genomföra säkerhetskopieringenHost lysator-backupHostName [VÄRDNAMN HÄR]IdentityFile [SÖKVÄG TILL SSH-NYCKEL]User [LYSATOR ANVÄNDARNAMN] - Skapa en mapp i din hemkatalog där säkerhetskopian ska ligga.
- Skapa filen
.nobackupi den mappen (se ovan) - Generera en lösenord (nyckeln som säkerhetskopian krypteras med)
- Skapa en mapp som kommer innehålla skripten för säkerhetskopieringen och i den skapa en filen
repo.shmed följande innehåll.export RESTIC_PASSWORD=[LÖSENORD HÄR]export RESTIC_REPOSITORY=sftp:lysator-backup:[SÖKVÄG TILL MAPP FÖR SÄKERHETSKOPIA] - Läs in miljövariablerna genom att köra
source repo.sh - Initiera förrådet genom att köra
restic init - Skapa ett skript som gör själva säkerhetskopieringen
backup.shmed följande innehåll:Ge användaren som ska genomföra säkerhetskopieringen rätt att köra skriptet samt läsa#!/bin/shexport RESTIC_CACHE_DIR=~/.cache/restic/source repo.shrestic backup [SÖKVÄG 1] [SÖKVÄG 2] [SÖKVÄG 3]repo.sh - Testa att göra en första backup. (Tips: Kör i en
screen,tmuxellerzellijom du har “mycket” data). Gå till mappen med scripten och kör./backup.sh
Schemalägg säkerhetskopiering med systemd
Section titled “Schemalägg säkerhetskopiering med systemd”Nedan så skapas en systemd-tjänst som kör säkerhetskopieringen varje natt. Säkerhetskopieringen sker vid ett slumpat tillfälle mellan 00:00 och 05:00.
- Skapa filen
/etc/systemd/system/backup.service[Unit]Description=BackupAfter=network.target[Service]Type=execExecStart=[SÖKVÄG TILL backup.sh]WorkingDirectory=[SÖKVÄG TILL MAPP MED BACKUP SKRIPT]User=[ANVÄNDARE SOM KÖR BACKUP] # Denna rad kan tas bort om backup körs som root[Install]WantedBy=default.target - Skapa filen
/etc/systemd/system/backup.timer[Unit]Description=Nightly backup[Timer]Unit=backup.serviceOnCalendar=*-*-* 00:00:00RandomizedDelaySec=5h[Install]WantedBy=timers.target - Aktivera skriptet:
systemctl enable --now backup.timer