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

0

crontab -e inicialmente pega um modelo de texto, aparentemente deste arquivo link . Eu gostaria de buscar esse bloco de texto programaticamente, para que eu possa acrescentar linhas com tarefas agendadas no final do modelo, para que parecesse um arquivo cron editado manualmente.

crontab -e > somefile não funciona, porque fica preso em um shell interativo.

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

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

Talvez uma maneira mais fácil seria export VISUAL=nano; crontab -e e, em seguida, enviar Ctrl + o, Enter, Ctrl + X para criar um novo arquivo crontab sem interação do usuário? Mas como faço para enviar toques de tecla para um shell interativo dentro de um script bash?

    
por user2066480 10.04.2018 / 20:23

1 resposta

0

Como o modelo é incorporado ao próprio programa crontab , não há necessidade de existir em outro arquivo.

Para extraí-lo em um sistema no qual 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 strings ou apenas incorporá-lo como um documento aqui em seu próprio script.

    
por 13.04.2018 / 20:47

Tags