我可以在 crontab 条目之后为 crontab 中的每个条目添加注释吗

我可以在 crontab 条目之后为 crontab 中的每个条目添加注释吗

我们在 crontab 文件中有一堆 crontab 条目。其中一些被暂时注释掉。是否可以在条目处添加评论作为注释掉的原因。

例如

#00 20 * * *  sh test.sh  "Adding comments here, reason for commenting out"

答案1

虽然注释单独一行可能更具可读性:

## This is commented out because the frobication goes foobar /ilkkachu 2020-11-01
# 00 20 * * *  sh test.sh

您还应该能够在命令后添加注释:

00 20 * * *  sh test.sh  # frobnicate the sales data

这应该可行,因为 shell 认为#是开始注释,并且在cron将时间字段之后的整行传递给它时,shell 会忽略以 开头的部分#

答案2

我建议您使用清晰的语法,每个注释都在其自己的行中,位于正在注释的命令之上。

# comment this is doing that
0 0 * * *     command
# Uncomment this line to do this. Comment line if that. The reason is this.
#0 0 1 * *     command
# comment text
0 0 1 * *     command

如果您的注释足够(简短且)解释性强,则没有理由修改它,具体取决于以下命令何时被注释。

您的示例行也有效,因为整行都是注释。如果取消开头的注释,则尾随注释仍然是注释,不是针对 crontab 的,而是针对要执行的命令的,因此预计它可以工作。另一个可读性问题是尾随注释导致长行。

还可以看看 man crontab(5)

空行、前导空格和制表符将被忽略。第一个非空白字符是井号 (#) 的行是注释,不会被处理。请注意,注释不允许与 cron 命令位于同一行,因为它们被视为命令的一部分。同样,注释也不允许与环境变量设置位于同一行。

相关内容