sql >> Databáze >  >> RDS >> Database

Databáze pouze zálohy ve WHM

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.


  1. Vložení řádku, pouze pokud tam ještě není

  2. Opakujte řetězec vícekrát v MySQL – REPEAT()

  3. 7 způsobů, jak najít duplicitní řádky při ignorování primárního klíče v MySQL

  4. 3 způsoby, jak zpřístupnit kolace v MariaDB