我正在尝试在Ubuntu服务器上设置一个cronjob,以便每晚运行mysqldump。
在我的Google搜索中,我发现了各种提示,但我仍然无法使用它。这就是我现在所拥有的:
该命令(在shell中运行时工作正常):
/usr/bin/mysqldump -uuser -p****** dbname tablename > /var/sql_dump/dump.sql
我通过运行
将其添加到cronjobsudo crontab -e
并添加以下行:
0 0 * * * /usr/bin/mysqldump -uuser -p****** dbname tablename > /var/sql_dump/dump.sql
但是当它达到那个时间(在这种情况下为00:00)时,不会创建任何文件。在shell中运行命令时,它甚至不需要一秒钟来执行,所以它应该很快。
根据某人的建议,我也在运行
sudo /etc/init.d/cron restart
但无济于事(cron重新启动但仍未创建文件)。
有人能发现我可能错过的东西吗?非常感谢回复。 :)
编辑:我发现了问题(在审查我的密码时错过了这个问题):我的密码中有%字符,我不得不逃避。它现在工作正常:)
答案 0 :(得分:1)
我不完全确定它是否是原因,但我会创建一个shell脚本,它封装整个命令,包括参数和管道,并从cron运行此脚本。这样就可以确保参数和管道不会影响cron过程。
您可以在系统日志中搜索与该任务相关的cron的错误消息。他们应该在那里登录。