sudo crontab -e 和 sudo cat /etc/crontab 是否与 cron 相关?

sudo crontab -e 和 sudo cat /etc/crontab 是否与 cron 相关?
$ sudo cat /etc/crontab
# ...comment lines elided... 
0 0,12 * * * root sleep 1347 && certbot renew -q --post-hook 'sudo reboot'

sudo crontab -e节目

13 0,12 * * * root sleep 1347 && certbot renew -q 

该虚拟机是一个简单的默认配置的 Google Compute Engine 虚拟机,带有 Debian Buster。我以用户 joshua 身份登录,但请注意 sudo 不需要输入密码。

哪一个(或者两者?)显示了 cron 实际执行的操作?编辑 cron 配置crontab -e或直接编辑某些文件(例如使用 )的推荐方法是什么sudo vi

答案1

中的注释行/etc/crontab会告诉你:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

/etc/crontab/etc/cron.d/*定义系统范围的 cron。它们在要执行的命令前面有一个用户字段。

使用sudo crontab -e,您可以编辑root位于/var/spool/cron/crontabs/root(对于debian其他操作系统中的不同位置)。

请注意,您不应该直接编辑文件,而应使用crontab -e命令。


用户的 crontab 文件不应包含用户名,因此应为:

13 0,12 * * * sleep 1347 && certbot renew -q 

相关内容