cron中的数据库备份正在创建一个零字节的文件

时间:2015-11-06 06:29:24

标签: database cron command server backup

我已经在我的godaddy服务器中设置了一个用于进行数据库备份的cron。出于测试目的,我每分钟运行一次cron。命令是:

mysqldump tuniv_results > /home/username/public_html/DB-VVS/tuniv_results.sql

在我的DB-VVS文件夹中,一个文件tuniv_results.sql正在创建,但它是零字节。能不能让我知道这个问题,为什么它没有正确创造? 提前谢谢。

------------ UPDATE -------------------

$user="****";
$password="****";
$database="*****";

$dumpCommand='/usr/bin/mysqldump';
$dumpCommand.=" -e -f -h <ipaddress> -u$user -p$password";
$dumpCommand.=" $database";
$dumpCommand.=" > bekap.sql";

$results=$dumpCommand;
exec($dumpCommand);
echo "result: ".$results;  

我在根文件夹中创建了一个文件,并将该文件的绝对路径放在命令文本字段中,格式为/home/username/cronfile.php。但是在根文件中没有像bekap.sql这样的文件。请告诉我可能存在的问题。

1 个答案:

答案 0 :(得分:1)

试试这个:

$user="*********";
$password="*****";
$database="*********";

$dumpCommand='/usr/bin/mysqldump';
$dumpCommand.=" -e -f -h host.name.com -u$user -p$password";
$dumpCommand.=" $database";
$dumpCommand.=" > bekap.sql";

$results=$dumpCommand;
exec($dumpCommand);
echo "result: ".$results;  

另一种解决方案:

我认为这会对你有所帮助。

打开终端并输入: sudo tcsh

pico / etc / crontab 要么 nano / etc / crontab

根据您的具体情况添加以下一行。这将在每天凌晨1点安排备份。

远程主机备份,链接PATH到mysqldump:

0 1 * * * mysqldump -h mysql.host.com -uusername -ppassword --opt database&gt; /path/to/directory/filename.sql

远程主机备份:

0 1 * * * / usr / local / mysql / bin / mysqldump -h mysql.host.com -uusername -ppassword --opt database&gt; /path/to/directory/filename.sql

本地主机mysql备份:

0 1 * * * / usr / local / mysql / bin / mysqldump -uroot -ppassword --opt database&gt; /path/to/directory/filename.sql

(-p和密码或-u和username之间没有空格 - 用正确的数据库用户名替换root。)