sql >> Databasteknik >  >> RDS >> Database

Databas endast backuper i WHM

Vissa klienter frågade oss om du bara kan ställa in databassäkerhetskopior i WHM. För vissa kommer detta att låta konstigt, men det finns användare som vill ha en sådan funktion.

Du kan komma åt inställningarna för WHM-säkerhetskopiering via WHM->Backup->Backup Configuration . Tyvärr finns det för närvarande inget alternativ att endast säkerhetskopiera användarnas databaser.

Uppdatering:Från och med den 20 april 2020 är denna cPanel-begäran i statusen "Öppen diskussion". Du kan kommentera och rösta på cPanel Feature Requests Site

Vilka lösningar har du? Du kan använda bash-kommandon. Ett kommando för att säkerhetskopiera alla databaser på servern till ett .gz-arkiv är:

root@www [/backup]# mysqldump --all-databases | gzip > /backup/$(date +%Y-%h-%d)-alldatabases.sql.gz

Detta kommer att skapa en säkerhetskopia med alla MySQL/MariaDB-databaser på servern. Filnamnet kommer att inkludera det aktuella datumet. (t.ex. 2018-sep-25-alldatabases.sql.gz) Du kan ändra kommandot efter dina behov. Du kan också skapa ett cron-jobb för att köra det vid specifika tidpunkter.

En annan möjlighet är att säkerhetskopiera varje databas på servern individuellt. Skapa en ny fil som backupdbs.sh för detta Innehållet i filen är:

#!/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

Så här kör du skriptet:

root@www [/backup]# perl backupdbs.sh

Som i föregående fall kan du även justera skriptet efter dina behov och skapa ett cron-jobb.


  1. Oracle In-Memory Kostnad

  2. funktion för att kontrollera om SQLite använder journal_mode=WAL eller journal_mode=DELETE

  3. Splitting Strings:Nu med mindre T-SQL

  4. Återkomsten av XFS på Linux