使用此处文档重定向到 crontab

使用此处文档重定向到 crontab

是否可以crontab使用此处文档打印?

我尝试了这些但失败了:

cat <<-"CRONTAB" > crontab
    0 0 * * * cat /dev/null > /var/mail/root
    0 1 * * 0 certbot renew -q
CRONTAB

和:

bash <<-"CRONTAB" > crontab
    0 0 * * * cat /dev/null > /var/mail/root
    0 1 * * 0 certbot renew -q
CRONTAB

另一方面,这不是一个heredocument,但是有效:

# CRONTAB
echo "
    0 0 * * * cat /dev/null > /var/mail/root
    0 1 * * 0 certbot renew -q
" | crontab

因此我想知道这里的文档是否有可能。

答案1

正如其他人指出的那样,crontab是一个命令,所以您需要做的就是向它提供heredoc:

crontab <<-"CRONTAB"

但正如之前提到的,通过操作等中的文件来管理 cron 作业要容易得多/etc/cron.daily/etc/cron.d

相关内容