Existe uma maneira de permitir que o usuário crie uma entrada cron sem abrir nano

0

Existe uma maneira de criar uma entrada cron com bash onde o usuário só precisa digitar o comando para executar e o script faz o resto.

Crie um arquivo cron se ele ainda não estiver criado Defina o tempo de execução.

Obrigado por investigar.

    
por Josh 19.06.2013 / 09:47

2 respostas

1

Você poderia fazer:

crontab -l > ./my.cron
: manipulate ./my.cron somehow without editing
crontab ./my.cron     

Não tenho conhecimento de uma ferramenta que seja um "assistente" para criar entradas do cron.

Se a sua pergunta for realmente sobre o uso do nano, defina sua variável de ambiente VISUAL para seu editor preferido.

    
por 19.06.2013 / 12:13
0

Eu não entendo o que você quer. A maneira normal de criar um crontab é executar crontab -e . Então, o usuário "terá que digitar o comando para executar e o script fará o resto". Tudo o que o usuário precisa fazer é definir a hora e o comando a ser executado. Como poderia ser mais simples?

É impossível ter cron definir a hora automaticamente, como ela pode saber quando você deseja que o comando seja executado? Quer dizer que você quer criar um crontab que tenha um tempo padrão ? Se assim for, você poderia fazer algo assim:

#!/usr/bin/env bash

time="0 5 * * 1" ## 5 a.m every week 

read -p "Enter the command you wish cron to run:" comm 

file='mktemp' && echo "$time $comm" > $file && crontab $file && rm $file

Você pode salvá-lo como, por exemplo, /usr/local/bin/make_crontab.sh .

Como alternativa, se tudo que você deseja é não usar nano , altere sua variável $EDITOR . Pessoalmente eu uso emacs , então eu tenho essa linha no meu .bashrc :

export EDITOR='/usr/bin/emacs';
    
por 19.06.2013 / 15:32