Някои клиенти ни попитаха дали можете да настроите само архивиране на база данни в WHM. За някои това ще звучи странно, но има потребители, които искат такава функция.
Можете да получите достъп до настройките за архивиране на WHM чрез WHM->Backup->Backup Configuration . За съжаление, в момента няма опция за архивиране само на потребителски бази данни.
Актуализация:От 20 април 2020 г. тази заявка за cPanel е в състояние „Отворена дискусия“. Можете да коментирате и гласувате на сайта за заявки за функции на cPanel
Какви решения имате? Можете да използвате bash команди. Една команда за архивиране на всички бази данни на сървъра в .gz архив е:
root@www [/backup]# mysqldump --all-databases | gzip > /backup/$(date +%Y-%h-%d)-alldatabases.sql.gz
Това ще създаде резервно копие с всички MySQL/MariaDB бази данни на сървъра. Името на файла ще включва текущата дата. (напр. 2018-Sep-25-alldatabases.sql.gz) Можете да промените командата според вашите нужди. Можете също да създадете задание на cron, за да го стартирате в определени часове.
Друга възможност е да архивирате всяка база данни на сървъра поотделно. За това създайте нов файл като backupdbs.sh Съдържанието на файла е:
#!/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
За да стартирате скрипта:
root@www [/backup]# perl backupdbs.sh
Както в предишния случай, можете също да коригирате скрипта според вашите нужди и да създадете задание за cron.