Ubuntu Cron作业在终端中工作,不';我不能独自工作

Ubuntu Cron作业在终端中工作,不';我不能独自工作,ubuntu,cron,crontab,Ubuntu,Cron,Crontab,我每天都在尝试运行cronjob来备份我的数据库。我通过登录到root并执行crontab-e,然后粘贴到我的命令中,创建了cronjob: * * * * * /bin/bash -l -c 'cd /var/lib/postgresql && sudo -u postgres pg_dump db_development -O -f "/var/lib/postgresql/backup/db-`date +\%Y-\%m-\%d\\%k:\%M:\%S`.sql"' >

我每天都在尝试运行cronjob来备份我的数据库。我通过登录到root并执行
crontab-e
,然后粘贴到我的命令中,创建了cronjob:

* * * * * /bin/bash -l -c 'cd /var/lib/postgresql && sudo -u postgres pg_dump db_development -O -f "/var/lib/postgresql/backup/db-`date +\%Y-\%m-\%d\\%k:\%M:\%S`.sql"' > /var/lib/postgresql/log/cron.log 2>&1
这是非常恼人的,因为如果我在终端上运行命令,无论是postgres用户还是root用户,它都能正常工作。但是,我从cronjob任务中根本没有得到任何数据。日志文件为空,并且从未创建备份文件


我花了10多个小时试图解决这个问题,但我已经没有主意了。感谢您的帮助。谢谢。

很可能是环境问题。检查shell中的任何DB环境设置


您还可以将cron命令行包装在脚本中(并从cron调用脚本)。然后您可以首先让脚本转储环境(这样您就可以看到缺少了什么),但最终让它设置正确的环境。vars,这样它就可以工作了。

虽然您可能会遇到环境问题,但这样长的命令最好放在从cron调用的单独脚本中

请参阅确认,本应单击重新加载..:P