sql >> Database >  >> RDS >> Database

Alleen database-back-ups in WHM

Sommige klanten vroegen ons of je alleen database-back-ups in WHM kunt instellen. Voor sommigen zal dit vreemd klinken, maar er zijn gebruikers die zo'n functie willen.

U hebt toegang tot WHM-back-upinstellingen via WHM->Backup->Back-upconfiguratie . Helaas is er op dit moment geen optie om alleen de databases van gebruikers te back-uppen.

Update:vanaf 20 april 2020 heeft dit cPanel-verzoek de status "Open discussie". U kunt reageren en stemmen op de cPanel Feature Requests-site

Welke oplossingen heb je? U kunt bash-commando's gebruiken. Eén commando om een ​​back-up te maken van alle databases op de server naar een .gz-archief is:

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

Hiermee wordt een back-up gemaakt met alle MySQL/MariaDB-databases op de server. De bestandsnaam bevat de huidige datum. (bijv. 2018-Sep-25-alldatabases.sql.gz) U kunt de opdracht naar wens aanpassen. U kunt ook een cron-taak maken om deze op specifieke tijden uit te voeren.

Een andere mogelijkheid is om elke database afzonderlijk op de server te back-uppen. Maak hiervoor een nieuw bestand aan zoals backupdbs.sh De inhoud van het bestand is:

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

Om het script uit te voeren:

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

Net als in het vorige geval, kunt u het script ook aanpassen aan uw behoeften en een cronjob maken.


  1. Een variabele declareren en de waarde ervan instellen vanuit een SELECT-query in Oracle

  2. Tips om uw SQL Server-complexiteit te verminderen

  3. 10 tijdbesparende snelkoppelingen in Microsoft Access

  4. Is er een ANSI SQL-alternatief voor het sleutelwoord MYSQL LIMIT?