Existe uma maneira de permitir que o usuário crie uma entrada cron sem abrir o 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 ainda não estiver criado. Defina o tempo de execução.

Obrigado a investigar.

Josh
fonte
Crie um arquivo temporário vazio, inicie o editor e, ao salvar, processe o conteúdo e crie uma entrada cron.
21713 Jack

Respostas:

1

Você poderia fazer:

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

Não conheço uma ferramenta que seja um "assistente" para criar entradas cron.

Se sua pergunta é realmente sobre o uso do nano, defina sua VISUALvariável de ambiente para o seu editor preferido.

Glenn Jackman
fonte
0

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

É impossível crondefinir a hora automaticamente. Como saber quando você deseja que o comando seja executado? Quer dizer que você deseja criar um crontab com um tempo padrão ? Nesse caso, 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 salvar isso como, por exemplo /usr/local/bin/make_crontab.sh,.


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

export EDITOR='/usr/bin/emacs';
Terdon
fonte