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.