手动编辑 cron 文件不好吗?

Goo*_*bot 13 linux scheduled-task cron

通常指示通过命令行引入新的 cron 作业;但我发现手动编辑(在文本编辑器中)用户 cron 文件(如/var/spool/cron/crontabs/root.

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

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

# DO NOT EDIT THIS FILE - edit the master and reinstall.
Run Code Online (Sandbox Code Playgroud)

但是第四行说

# Edit this file to introduce tasks to be run by cron.
Run Code Online (Sandbox Code Playgroud)

Kha*_*led 22

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

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

编辑

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

  • 此外,默认文件中的“不编辑”是因为升级/重新安装可能会覆盖该文件。 (4认同)

小智 8

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

您可以通过运行更改 crontab -e(以及其他需要编辑器的东西)来使用更熟悉的 nano 编辑器

export EDITOR=nano
Run Code Online (Sandbox Code Playgroud)

crontab -e
Run Code Online (Sandbox Code Playgroud)

您可以通过编辑 ~/.bash_profile 文件将 nano 设为永久默认编辑器以包含export EDITOR=nano在最后。

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