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

ank*_*ddy -3 linux cron centos

嗨,当我使用 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
Run Code Online (Sandbox Code Playgroud)

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

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:~$
Run Code Online (Sandbox Code Playgroud)

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

可能是什么原因?

Kus*_*nda 6

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

要添加 crontab 作业,请使用

$ crontab -e
Run Code Online (Sandbox Code Playgroud)

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

您拥有的工作规范,

* * * * * ankush /home/ankush/test_script.sh
Run Code Online (Sandbox Code Playgroud)

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

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

* * * * * /home/ankush/test_script.sh
Run Code Online (Sandbox Code Playgroud)

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


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