无法启动 crontab。它给出了一个错误

无法启动 crontab。它给出了一个错误

您好,当我使用 cronjob 提交 shell 脚本时,遇到了以下问题。

我已附上备份帮助命令。

* * * * * ankush /home/ankush/test.sh
backup: Unrecognized operation 'codebak'; type 'backup help' for list

backup help list


backup: Commands are:
adddump         add dump schedule
addhost         add host to config
addvolentry     add a new volume entry
addvolset       create a new volume set
apropos         search by help text
dbverify        check ubik database integrity
deldump         delete dump schedule
deletedump      delete dumps from the database
delhost         delete host to config
delvolentry     delete a volume set sub-entry
delvolset       delete a volume set
diskrestore     restore partition
dump            start dump
dumpinfo        provide information about a dump in the database
help            get help on commands
interactive     enter interactive mode
jobs            list running jobs
kill            kill running job
labeltape       label a tape
listdumps       list dump schedules
listhosts       list config hosts
listvolsets     list volume sets
quit            leave the program
readlabel       read the label on tape
restoredb       restore backup database
savedb          save backup database
scantape        dump information recovery from tape
setexp          set/clear dump expiration dates
status          get tape coordinator status
version         show version
volinfo         query the backup database
volrestore      restore volume
volsetrestore   restore a set of volumes

请从我的控制台找到命令流程。

ankush@hn0-ank-d:~$ more test_script.sh
echo "test"
ankush@hn0-ank-d:~$ * * * * * ankush /home/ankush/test_script.sh
backup: Unrecognized operation 'codebak'; type 'backup help' for list
ankush@hn0-ank-d:~$

当我第一次运行代码时,它要求我安装 sudo apt install openafs-client。我继续安装它。

可能是什么原因?

答案1

看起来好像您正在尝试直接在命令行上输入 crontab 作业规范。那是行不通的。

要添加 crontab 作业,请使用

$ crontab -e

编辑你的 crontab。在那里添加作业规范,保存并退出编辑器。

您的工作规范,

* * * * * ankush /home/ankush/test_script.sh

看起来像一个系统 crontab 作业。也就是说,它有一个额外的第六个字段,即用户名(请参阅 crontab 手册,man 5 crontab)。你自己的私人 crontab 不应该有这个。

我相信这就是你的 crontab 中应该有的内容:

* * * * * /home/ankush/test_script.sh

/home/ankush/test_script.sh这将每分钟调用一次脚本。这项工作的任何输出或错误都应该通过电子邮件发送给您。


您收到的神秘错误消息来自尝试* * *在 shell 中执行命令(等)。它与 cron 和你的脚本完全无关。 shell 只是将 扩展*到当前目录中的所有文件,并尝试将其作为命令运行。显然,第一个*扩展为backup codebak并且恰好是backup某个不理解含义的命令的名称codebak

答案2

你做了很多常见的计划任务错误。他们中有一些:

  1. crontab 文件中的命令语法错误
  2. 脚本文件的路径错误
  3. 您的脚本文件没有执行权限
  4. 在您的配置文件中使用未声明的变量

始终检查命令的语法、查看 cron 日志、检查文件和目录的权限。

相关内容