我正在尝试运行一个 cron 作业来每天备份我的 SQL 数据库。这是我正在使用的代码。
/usr/local/mysql/bin/mysqldump -uroot -ppassword --opt database > /path/to/directory/filename.sql
但是,它返回给我并显示以下错误:
/bin/bash: -c: 第 0 行:寻找匹配的 `'' 时出现意外的 EOF
/bin/bash: -c: 第 1 行:语法错误:意外的文件结尾
想知道解决方案是什么......
最佳答案
如果您需要将 cron 与复杂的 shell 命令(例如特殊字符)一起使用,您应该将它们放在外部脚本中,并且只在 crontab 中调用该脚本。 这样,您还可以手动运行它进行测试。
示例:
- 将命令放入,例如/usr/local/sbin/my_backup_script.sh
- 不要忘记在 sh 文件顶部添加
#!/bin/sh
- 执行
chmod a+x/usr/local/sbin/my_backup_script.sh
- 测试手动运行脚本是否可以完成任务
- 然后将
0 4 * * * root/usr/local/sbin/my_backup_script.sh
添加到 crontab - (如果您使用的是个人 crontab,则为
0 4 * * */usr/local/sbin/my_backup_script.sh
)
(您可以使用“mm hh”形式将 0 4
替换为您希望其运行的时间)
关于mysql - 尝试每天备份 SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44102479/