我已经在我的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
这样的文件。请告诉我可能存在的问题。
答案 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。)