手动编辑 cron 文件不好吗?

手动编辑 cron 文件不好吗?

通常通过命令行来引入新的 cron 作业;但我发现手动编辑(在文本编辑器中)用户 cron 文件更容易(可以更好地控制当前的 cron 任务),例如/var/spool/cron/crontabs/root

在文本编辑器中编辑文件是否危险?

默认文件中的注释令人困惑。第一行是

# DO NOT EDIT THIS FILE - edit the master and reinstall.

但第四行说

# Edit this file to introduce tasks to be run by cron.

答案1

如果您修改 crontabs 下的用户文件,它应该可以工作。但是,有两个问题需要考虑:

  1. 如果您在文件中输入了错误的 cron 条目,与使用crontab -e命令不同,您将不会收到警告。
  2. 如果没有以 root 身份登录或使用 sudo,则无法直接编辑 crontabs 下的用户文件。您将收到权限被拒绝错误。

编辑

还有一点需要补充。当您直接编辑文件时,如果您打开了两次文件(两个用户访问同一个文件),文本编辑器可能会警告您。但是,当crontab -e从同一用户的两个不同 shell 会话中使用时,cron 列表将被覆盖。这是另一个区别。

答案2

如果我理解正确的话,您正在使用文本编辑器手动编辑文件,因为您不想使用 crontab -e。我猜那是因为它使用 vi 作为编辑器,而您不熟悉它。

你可以通过运行以下命令将 crontab -e(以及其他需要编辑器的操作)更改为使用更熟悉的 nano 编辑器:

export EDITOR=nano

crontab -e

您可以通过编辑 ~/.bash_profile 文件并将其包含export EDITOR=nano在末尾,使 nano 成为永久默认编辑器。

回答你的问题,你不应该直接编辑文件,因为它可能会在你不知情的情况下被覆盖。第 4 行说明了这一点,因为它来自你应该手动编辑的 crontab(它会说这是第一行)。

答案3

export VISUAL=vi

这是更改 crontab 编辑器的正确方法。

相关内容