Zpět na blog
Leden 13, 2026Návody

Jak nakonfigurovat automatické zálohování na Linuxovém serveru

Průvodce krok za krokem nastavením automatických zálohovacích skriptů pomocí úloh cron pro soubory a databáze.

Jak nakonfigurovat automatické zálohování na Linuxovém serveru

Pravidelné zálohování je nezbytné pro ochranu vašich dat. Tento návod vám ukáže, jak nastavit automatické zálohování souborů a databází pomocí shellových skriptů a úloh cron na vašem serveru Hiddence.

Vytvoření zálohovacího skriptu

Vytvořte zálohovací skript pro vaše soubory:

bash
sudo nano /usr/local/bin/zaloha.sh
#!/bin/bash
BACKUP_DIR="/backups"
SOURCE_DIR="/var/www"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/backup_$DATE.tar.gz $SOURCE_DIR
find $BACKUP_DIR -name "backup_*.tar.gz" -mtime +7 -delete
sudo chmod +x /usr/local/bin/zaloha.sh

Nastavení úlohy Cron

Naplánujte automatické zálohování pomocí cronu:

bash
sudo crontab -e
# Přidejte tento řádek pro denní spouštění zálohy ve 2 hodiny ráno
0 2 * * * /usr/local/bin/zaloha.sh >> /var/log/backup.log 2>&1

Skript pro zálohování databáze

Vytvořte skript pro zálohování databáze MySQL:

bash
sudo nano /usr/local/bin/db_zaloha.sh
#!/bin/bash
BACKUP_DIR="/backups/db"
DB_NAME="vasedatabaze"
DB_USER="root"
DB_PASS="vaseheslo"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/db_backup_$DATE.sql
gzip $BACKUP_DIR/db_backup_$DATE.sql
find $BACKUP_DIR -name "db_backup_*.sql.gz" -mtime +7 -delete
sudo chmod +x /usr/local/bin/db_zaloha.sh

Vzdálené úložiště záloh

Zkopírujte zálohy na vzdálený server pomocí rsync nebo SCP:

bash
#!/bin/bash
BACKUP_DIR="/backups"
REMOTE_HOST="zalozni-server.cz"
REMOTE_USER="backup"
REMOTE_DIR="/backups"
rsync -avz -e ssh $BACKUP_DIR/ $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/

Zásady uchovávání záloh

Nakonfigurujte uchovávání záloh po určitou dobu:

bash
# Uchovávat denní zálohy po dobu 7 dnů
find /backups -name "backup_*.tar.gz" -mtime +7 -delete

# Uchovávat týdenní zálohy po dobu 4 týdnů
find /backups/weekly -name "backup_*.tar.gz" -mtime +28 -delete

# Uchovávat měsíční zálohy po dobu 12 měsíců
find /backups/monthly -name "backup_*.tar.gz" -mtime +365 -delete

Doporučené postupy pro zálohování

  • Pravidelně testujte obnovu ze zálohy
  • Ukládejte zálohy na více místech
  • Šifrujte citlivá data záloh
  • Sledujte protokoly zálohování kvůli chybám
  • Dokumentujte své postupy zálohování
  • Nastavte upozornění na selhání zálohování