在cPanel中设置Cron Jobs可以定期自动备份MySQL数据库,确保数据安全。以下是详细步骤:
backups
)mysql_backup.php
)示例脚本内容:
<?php
// 数据库配置
$db_host = 'localhost';
$db_user = '数据库用户名';
$db_pass = '数据库密码';
$db_name = '数据库名';
// 备份文件保存路径
$backup_dir = '/home/用户名/backups/';
$backup_file = $backup_dir . $db_name . '_' . date('Y-m-d_H-i-s') . '.sql.gz';
// 使用mysqldump命令备份数据库
$command = "mysqldump -h $db_host -u $db_user -p'$db_pass' $db_name | gzip > $backup_file";
// 执行命令
system($command);
// 删除超过30天的旧备份
system("find $backup_dir -name '*.sql.gz' -type f -mtime +30 -exec rm {} \;");
?>
/usr/local/bin/php /home/用户名/public_html/backups/mysql_backup.php
如果您更喜欢使用Shell脚本:
mysql_backup.sh
文件:#!/bin/bash
# 数据库配置
DB_HOST="localhost"
DB_USER="数据库用户名"
DB_PASS="数据库密码"
DB_NAME="数据库名"
# 备份目录
BACKUP_DIR="/home/用户名/backups"
DATE=$(date +%Y-%m-%d_%H-%M-%S)
BACKUP_FILE="$BACKUP_DIR/$DB_NAME-$DATE.sql.gz"
# 创建备份
mysqldump -h $DB_HOST -u $DB_USER -p$DB_PASS $DB_NAME | gzip > $BACKUP_FILE
# 删除30天前的备份
find $BACKUP_DIR -name "*.sql.gz" -type f -mtime +30 -delete
/bin/bash /home/用户名/public_html/backups/mysql_backup.sh
chmod 700 /home/用户名/backups
chmod +x mysql_backup.sh
)/usr/bin/mysqldump
通过以上设置,您的MySQL数据库将按计划自动备份,确保数据安全。