Někteří klienti se nás ptali, zda lze ve WHM nastavit pouze zálohy databáze. Pro někoho to bude znít divně, ale jsou uživatelé, kteří takovou funkci chtějí.
K nastavení zálohování WHM se dostanete přes WHM->Záloha->Konfigurace zálohování . Bohužel v tuto chvíli neexistuje možnost zálohovat pouze databáze uživatelů.
Aktualizace:Od 20. dubna 2020 je tento požadavek cPanel ve stavu „Otevřená diskuse“. Můžete komentovat a hlasovat na webu cPanel Feature Requests
Jaká řešení máte? Můžete použít příkazy bash. Jeden příkaz pro zálohování všech databází na serveru do archivu .gz je:
root@www [/backup]# mysqldump --all-databases | gzip > /backup/$(date +%Y-%h-%d)-alldatabases.sql.gz
Tím se vytvoří záloha se všemi databázemi MySQL/MariaDB na serveru. Název souboru bude obsahovat aktuální datum. (např. 2018-Sep-25-alldatabases.sql.gz) Příkaz můžete upravit podle svých potřeb. Můžete také vytvořit úlohu cron a spustit ji v konkrétních časech.
Další možností je zálohovat každou databázi na server samostatně. Za tímto účelem vytvořte nový soubor jako backupdbs.sh Obsah souboru je:
#!/bin/bash
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
date=$(date +%Y-%h-%d)
backupdir="/backup"
mkdir -p $backupdir/$date
databases=`$mysql -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema)"`
for db in $databases; do
echo $db
$mysqldump --opt --databases $db | gzip > "$backupdir/$date/$db.sql.gz"
done
Spuštění skriptu:
root@www [/backup]# perl backupdbs.sh
Stejně jako v předchozím případě můžete také upravit skript podle svých potřeb a vytvořit úlohu cron.