Niektórzy klienci pytali nas, czy w WHM można ustawić tylko kopie zapasowe baz danych. Dla niektórych zabrzmi to dziwnie, ale są użytkownicy, którzy chcą takiej funkcji.
Możesz uzyskać dostęp do ustawień kopii zapasowej WHM poprzez WHM->Kopia zapasowa->Konfiguracja kopii zapasowej . Niestety w tej chwili nie ma opcji tworzenia kopii zapasowych tylko baz danych użytkowników.
Aktualizacja:od 20 kwietnia 2020 r. to żądanie cPanel ma status „Otwarta dyskusja”. Możesz komentować i głosować na stronie z propozycjami funkcji cPanel
Jakie masz rozwiązania? Możesz używać poleceń basha. Jedno polecenie do wykonania kopii zapasowej wszystkich baz danych na serwerze w archiwum .gz to:
root@www [/backup]# mysqldump --all-databases | gzip > /backup/$(date +%Y-%h-%d)-alldatabases.sql.gz
Spowoduje to utworzenie kopii zapasowej wszystkich baz danych MySQL/MariaDB na serwerze. Nazwa pliku będzie zawierać aktualną datę. (np. 2018-Sep-25-alldatabases.sql.gz) Możesz zmodyfikować polecenie według własnych potrzeb. Możesz także utworzyć zadanie cron, aby uruchamiać je w określonych godzinach.
Inną możliwością jest wykonanie kopii zapasowej każdej bazy danych na serwerze z osobna. W tym celu utwórz nowy plik, taki jak backupdbs.sh Zawartość pliku to:
#!/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
Aby uruchomić skrypt:
root@www [/backup]# perl backupdbs.sh
Podobnie jak w poprzednim przypadku, możesz również dostosować skrypt do swoich potrzeb i utworzyć zadanie crona.