【问题标题】:sh: $file: ambiguous redirectsh: $file: 不明确的重定向
【发布时间】:2017-05-26 13:48:04
【问题描述】:

我正在使用此代码

#!/usr/bin/php
<?php
$file = '/home/southel2/public_html/archives/BACKUPS/backup.sql';
$backupFile = $dbname.date("Y-m-d-H-i-s").'.zip';
$command = 'mysqldump user=### --password=#### --databases ###_### > $file';
system($command);
?>

没有创建文件,我在我的 cron 电子邮件中收到以下错误消息,并且它没有更新错误日志中的任何条目:

Content-type: text/html; charset=UTF-8
sh: $file: ambiguous redirect

关于我做错了什么有什么想法吗?

【问题讨论】:

  • 使用双引号。
  • @D.Davis 正如@Flosculus 所说,您没有使用双引号,因此$file 永远不会更改为实际值,它仍将是$file,但作为文字字符串。
  • 导致没有来自 cron 的电子邮件,没有日志条目,将“修改日期”更改为 backup.sql 文件的日期和时间,但没有写入任何 run_statements,导致文件大小为“ 0'。在 MyPHPAdmin 中,当我单击 backup.sql 文件然后单击查看该文件时,它会显示以下内容: 404 Not Found 您要查找的页面可能已被删除、更改名称或暂时不可用。如果您输入了网址,请检查拼写您可以尝试单击“返回”按钮并尝试另一个链接”

标签: php sql cron database-backups


【解决方案1】:

当您在 php 变量中使用单引号字符串时,不会对变量进行评估,并且您的字符串中有变量 $file

用双引号试试

$command = "mysqldump user=### --password=#### --databases ###_### > $file";

【讨论】:

  • 这显然是一个错字但实际上它会起作用因为在shell脚本中;只是一个命令分隔符 ....
  • 导致没有来自 cron 的电子邮件,没有日志条目,将“修改日期”更改为 backup.sql 文件的日期和时间,但没有写入任何 run_statements,导致文件大小为“ 0'。在 MyPHPAdmin 中,当我单击 backup.sql 文件然后单击查看该文件时,它会显示以下内容: 404 Not Found 您要查找的页面可能已被删除、更改名称或暂时不可用。如果您输入了网址,请检查拼写您可以尝试单击“返回”按钮并尝试另一个链接”
  • 这个命令mysqldump user=### --password=#### --databases ###_### &gt; /home/southel2/public_html/archives/BACKUPS/backup.sql 在你输入命令行时有效吗?如果它有效,它应该也可以使用system() 到底是什么问题?你能说得更具体点吗?
  • 我正在尝试使用脚本备份数据库。我从未使用过 shell,也不知道如何访问和使用它。所以我没有测试你上面引用的那一行。我已经验证了用户名和密码,并且可以毫无问题地使用它们登录 phpMyAdmin。由于某种原因,它不会产生我正在寻找的结果。我正在编写一个脚本,该脚本将备份数据库到 sql 文件,压缩该 sql 文件,然后通过 cron 调用它,每天通过电子邮件将压缩的 sql 发送给我。现在,我只是想获取备份和压缩包。然后我会处理电子邮件。
  • 到目前为止,我已经尝试了所有这些步骤以使其正常工作:从所有 php 脚本更改为 mysqldump 以访问数据库,更改目录路径和目标文件的路径和权限,从使用更改single ' 到 double ',从 --all-databases 更改为 --databases 然后识别我要备份的数据库。我已经尝试了 cpanel 用户 -u & -p 和 root 帐户 -u & -p。我尝试了调用 -u & -p verses --user= --password= 的所有变体。这些操作似乎都不起作用,每一个都会产生不同的结果,有些会产生相同的结果,但它们都没有达到预期的效果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-23
  • 2012-05-30
相关资源
最近更新 更多