用于 MySQL 转储 cron 作业的 PHP 脚本


PHP script for a MySQL dump cron job

我正在尝试创建一个脚本,该脚本将通过cron作业运行,因此它会定期转储数据库。我还尝试了几种带有引号和点的组合,但都没有奏效。

<?php
$date = date('Y-m-d-H:i:s');
$host = 'localhost';
$user = 'username';
$password = 'password';
$database = 'databasename';
echo shell_exec("mysqldump -h $host -u $user -p$password $database > mysqlbackup$date.sql");
?>

将数据库转储直接作为 cron 作业运行会明智得多。我可以看到您已经准备好了命令,因此键入 crontab -e 并输入类似在每晚 03:30 AM 运行它的内容:

30 03 * * * /usr/bin/mysqldump -u[username] -p[password] --all-databases --single-transaction > /home/USERNAME/backups/full_backup_`date +%Y-%m-%d_%H-%M-%S`.sql

并避免在命令中写入密码 - 而是使用 .my.cnf。