$ 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