问:我有一个crontab,它运行一个使用system()执行mysqldump的php文件。简而言之,php脚本本身以root身份从命令行运行而没有问题,但是当以crontab身份运行时似乎无法完成system()调用。
这是php文件的内容:
<?php
$ dumpFile =“ mysqldump-”。date(“ YmdHis”)。“。sql”;
$ command =“ mysqldump -uusername -ppassword --all-databases> / home / mysqldump / $ dumpFile”;
系统($ command);
回声“是!!!
?>
这是crontab中的行:
* * * * * / usr / local / bin / php /home/mysqldump.php> /home/mysqldump/data.txt
我将输出添加到data.txt,以查看是否至少可以获得“同意!” -我做。该脚本显然已结束,并且输出目录上没有权限问题或任何内容,这与sql文件和data.txt相同...
我也尝试过从/ bin / sh运行脚本,并且可以正常工作。我已将s ***和咯咯笑声的目录权限更改为777。我已将路径更改为绝对路径(/ usr / home而非/ home)。
谁有想法?关于system()命令,我是否有些棘手的事情?
答:mysqldump命令在哪里,我敢打赌这不在默认路径中(在执行bashrc等之前)。尝试将完整路径放入mysqldump