【发布时间】:2018-05-11 16:51:39
【问题描述】:
我遇到了与 this person 和 this person 相同的问题,我的命令在本地工作,但在 cron 任务内部,什么也没发生。
这是我要运行的内容:
/usr/bin/mysqldump -u root -ppassword database_name > ~/Documents/dump.sql
当我直接在终端中输入 I 时,这在本地有效!它可能会抛出一个错误:
mysqldump: [Warning] Using a password on the command line interface can be insecure
但它仍然有效。如果我在命令之前输入用户root,它甚至可以工作。
现在,这是 CRON(只是尝试每分钟运行一次以测试它是否有效)
*/1 * * * * root /usr/bin/mysqldump -u root -ppassword database_name > ~/Documents/dump.sql
然后……什么也没有发生。我从this question 和[这个人] 看到的是,这是一个语法问题。我不知道为什么这个 CRON 不会运行!
【问题讨论】:
-
似乎将 dump.sql 放入
/root/Documents/dump.sql或失败,因为没有Documents文件夹 -
顺便说一句,为什么你每分钟都转储数据库? (:
-
考虑使用
$HOME代替波浪号,因为波浪号可能无法在任何shell cron 用于执行脚本的情况下工作。更好的是,指定整个路径,为什么要把它留给变量扩展之类的? -
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地点。