我使用的1and1提出了通过mysqldump的备份的MySQL DB中的确切的代码(http://faq.1and1.co.uk/archive/43 .html)mysqldump的:上得了写错误号32(的1and1共享主机),为的crontab
$host= 'xxxx';
$user= 'xxxx';
$pass= 'xxxx';
$db= 'xxxx';
system(sprintf(
'mysqldump --opt -h%s -u%s -p%s %s | gzip > %s/backup/' . time() . '.sql.gz',
$host,
$user,
$pass,
$db,
getenv('DOCUMENT_ROOT')
));
已将所有权限更改为777以进行测试。仍然没有运气。继续得到错误(写入时错误32)。
任何帮助表示赞赏 - 这看起来像一个愚蠢的修复。
这使得错误更有意义:errno 32是“断开的管道”,这意味着gzip在mysqldump完成输出之前退出。 gzip因为无法写入输出文件而摔倒,听起来像是一个好罪魁祸首。 – Charles 2011-03-21 16:28:26
@Charles确实。在DOCUMENT_ROOT为空的情况下,gzip将尝试写入'/ backup/...',您非常希望普通用户无权执行:) – 2011-03-21 16:32:18
非常感谢 - 此工作! – psarid 2011-03-22 15:22:07