crontab 上的以下命令根本不起作用。
0 12 * * * mysqldump -hserverhpost -uuser -ppass db > /path/to/backu/$(date +%d-%m-%Y)
我广泛阅读了相关内容但看不出其中有什么问题。
我看起来根本没在工作。
如果我在 shell 上单独运行 mysqldump 命令,它可以正常工作,但是当我发送到 crontab 时它却不行。
我遗漏了什么吗?
我希望它每天中午运行。
编辑:
问题是:未创建转储文件。该命令本身应该将 mysqldump 存储在文件夹中的文件中。当我在 shell 上运行它时,它工作正常,但它不会在 crontab 上创建文件。
答案1
%是cron 的特殊字符。您必须将其转义(\%)。它不应阻止 cron 工作。只是备份的名称将不是预期的名称,并且每天都会被覆盖。
答案2
尝试提供 的完整路径mysqldump
。在许多系统中,与普通用户相比,cron
非常有限,或者可能不在 cron 的 中。$PATH
root
mysqldump
$PATH