Crontab 绝对路径不起作用
Crontab absolute path not working
我有一个脚本来备份我在 /home/<user>/bin/dbbackup
的数据库。该脚本可由所有用户执行,并归我所有。文件 /etc/cron.allow
和 /etc/cron.deny
不存在。
在我的 crontab
中有以下几行(包括最后一行代码后的新空行):
@reboot /home/<user>/.dropbox-dist/dropboxd
30 2 * * * bash /home/<user>/bin/dbbackup
但是,cron 不是 运行ning 我的 dbbackup
脚本。当我 运行 手动测试脚本时它起作用了。当我 运行 在命令行上进行此测试时:* * * * * /bin/echo "cron works" >> ~/file
我收到以下错误:
No command 'dbbackup' found, did you mean:
Command 'dvbackup' from package 'dvbackup' (universe)
Command 'tdbbackup' from package 'tdb-tools' (main)
dbbackup: command not found
我的服务器 运行宁 Ubuntu 可靠。有什么帮助吗?
如评论所述,amiga_os 似乎需要删除行中对 bash 的引用。
30 2 * * * bash /home/<user>/bin/dbbackup
应该是。
30 2 * * * /home/<user>/bin/dbbackup
我通常只是从它们的路径调用脚本并使用“#!/bin/bash”(或您 bash 所在的任何地方)作为脚本的第一行。看来 amiga_os 已经这样做了,这很好。我不喜欢将句子放入 cron,因为它让我紧张。
我认为这是一个路径问题,因为 cron 以用户身份执行,但不读取 bash 配置文件,因此无法像在您的 shell 下那样工作,因为它可能没有访问您的 $PATH.
我有一个脚本来备份我在 /home/<user>/bin/dbbackup
的数据库。该脚本可由所有用户执行,并归我所有。文件 /etc/cron.allow
和 /etc/cron.deny
不存在。
在我的 crontab
中有以下几行(包括最后一行代码后的新空行):
@reboot /home/<user>/.dropbox-dist/dropboxd
30 2 * * * bash /home/<user>/bin/dbbackup
但是,cron 不是 运行ning 我的 dbbackup
脚本。当我 运行 手动测试脚本时它起作用了。当我 运行 在命令行上进行此测试时:* * * * * /bin/echo "cron works" >> ~/file
我收到以下错误:
No command 'dbbackup' found, did you mean:
Command 'dvbackup' from package 'dvbackup' (universe)
Command 'tdbbackup' from package 'tdb-tools' (main)
dbbackup: command not found
我的服务器 运行宁 Ubuntu 可靠。有什么帮助吗?
如评论所述,amiga_os 似乎需要删除行中对 bash 的引用。
30 2 * * * bash /home/<user>/bin/dbbackup
应该是。
30 2 * * * /home/<user>/bin/dbbackup
我通常只是从它们的路径调用脚本并使用“#!/bin/bash”(或您 bash 所在的任何地方)作为脚本的第一行。看来 amiga_os 已经这样做了,这很好。我不喜欢将句子放入 cron,因为它让我紧张。
我认为这是一个路径问题,因为 cron 以用户身份执行,但不读取 bash 配置文件,因此无法像在您的 shell 下那样工作,因为它可能没有访问您的 $PATH.