Một số khách hàng đã hỏi chúng tôi rằng liệu bạn có thể chỉ thiết lập sao lưu cơ sở dữ liệu trong WHM hay không. Đối với một số người, điều này nghe có vẻ lạ, nhưng có những người dùng muốn một tính năng như vậy.
Bạn có thể truy cập cài đặt sao lưu WHM thông qua WHM-> Sao lưu-> Cấu hình sao lưu . Rất tiếc, hiện tại không có tùy chọn nào để chỉ sao lưu cơ sở dữ liệu của người dùng.
Cập nhật:Kể từ ngày 20 tháng 4 năm 2020, yêu cầu cPanel này ở trạng thái "Thảo luận mở". Bạn có thể nhận xét và bỏ phiếu tại Trang web yêu cầu tính năng cPanel
Bạn có những giải pháp nào? Bạn có thể sử dụng các lệnh bash. Một lệnh để sao lưu tất cả cơ sở dữ liệu trên máy chủ vào kho lưu trữ .gz là:
root@www [/backup]# mysqldump --all-databases | gzip > /backup/$(date +%Y-%h-%d)-alldatabases.sql.gz
Thao tác này sẽ tạo một bản sao lưu với tất cả cơ sở dữ liệu MySQL / MariaDB trên máy chủ. Tên tệp sẽ bao gồm ngày hiện tại. (ví dụ:2018-25-9-alldatabases.sql.gz) Bạn có thể sửa đổi lệnh theo nhu cầu của mình. Bạn cũng có thể tạo một công việc cron để chạy nó vào những thời điểm cụ thể.
Một khả năng khác là sao lưu từng cơ sở dữ liệu trên máy chủ riêng lẻ. Đối với điều này, hãy tạo một tệp mới như backupdbs.sh Nội dung của tệp là:
#!/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
Để chạy tập lệnh:
root@www [/backup]# perl backupdbs.sh
Như trong trường hợp trước, bạn cũng có thể điều chỉnh tập lệnh theo nhu cầu của mình và tạo một công việc cron.