Obtendo o modelo de texto crontab de dentro de um script bash

Obtendo o modelo de texto crontab de dentro de um script bash

crontab -einicialmente pega um modelo de texto, aparentemente deste arquivohttps://anonscm.debian.org/cgit/pkg-cron/pkg-cron.git/tree/crontab.c. Gostaria de buscar programaticamente esse bloco de texto, para poder acrescentar linhas com tarefas cron no final do modelo, para que pareça um arquivo cron editado manualmente.

crontab -e > somefilenão funciona porque fica preso em um shell interativo.

crontab -l > somefiletambém não funciona, porque não há arquivo crontab quando uma conta de usuário é criada.

Eu poderia tentar sedo modelo de texto, mas onde ele estaria localizado em um sistema em execução? E também, estaria presente, digamos, em uma imagem (Ubuntu) implantada por um provedor de hospedagem, ou eu precisaria adicionar o repositório de fontes ao apt list primeiro?

Talvez uma maneira mais fácil seria export VISUAL=nano; crontab -eenviar Ctrl+o, Enter, Ctrl+X para criar um novo arquivo crontab sem interação do usuário? Mas como envio teclas digitadas para um shell interativo dentro de um script bash?

Responder1

Como o modelo está incorporado no crontabpróprio programa, não há necessidade de ele existir em nenhum outro arquivo.

Para extraí-lo em um sistema onde você não possui um crontab, tente configurar temporariamente seu editor para touch.

VISUAL=touch crontab -e
crontab -l >saved

Você também pode extraí-lo com stringsou simplesmente incorporá-lo como um documento aqui em seu próprio script.

informação relacionada