在CentOS上使用PHP备份数据,可以通过编写PHP脚本来实现。以下是一个简单的示例,展示了如何使用PHP备份MySQL数据库:
sudo yum install php php-mysql
backup.php的文件,并在其中输入以下代码:<?php
// 数据库配置信息
$db_host = 'localhost';
$db_user = 'your_username';
$db_pass = 'your_password';
$db_name = 'your_database_name';
// 备份文件存储路径
$backup_path = '/path/to/your/backup/directory/';
// 当前日期和时间
$date = date('Y-m-d_H-i-s');
// 备份文件名
$backup_file = $backup_path . $db_name . '_' . $date . '.sql';
// SQL查询,用于获取数据库结构和数据
$sql = "SHOW TABLES";
$result = mysqli_query($conn, $sql);
// 创建备份文件并写入SQL查询
$file = fopen($backup_file, 'w');
if (!$file) {
die("无法创建备份文件: $backup_file");
}
while ($table = mysqli_fetch_row($result)) {
$table_name = $table[0];
$sql = "SHOW CREATE TABLE `$table_name`";
$result = mysqli_query($conn, $sql);
$create_table = mysqli_fetch_row($result);
fwrite($file, $create_table[1] . ";\n\n");
$sql = "SELECT * FROM `$table_name`";
$result = mysqli_query($conn, $sql);
$num_fields = mysqli_num_fields($result);
while ($row = mysqli_fetch_row($result)) {
$row_data = array();
for ($i = 0; $i < $num_fields; $i++) {
$row_data[] = mysqli_escape_string($conn, $row[$i]);
}
fwrite($file, "INSERT INTO `$table_name` VALUES (" . implode(', ', $row_data) . ");\n");
}
fwrite($file, "\n\n");
}
fclose($file);
echo "数据库备份完成: $backup_file\n";
?>
修改$db_host、$db_user、$db_pass和$db_name变量,使其与您的数据库配置相匹配。
修改$backup_path变量,使其指向您希望存储备份文件的目录。
在命令行中,导航到包含backup.php文件的目录,并运行以下命令:
php backup.php
这将生成一个包含数据库结构和数据的SQL文件。请确保您有足够的权限来写入备份文件,并定期执行此脚本以保持数据安全。