Есть ли способ создать запись cron с помощью bash, где пользователю нужно только ввести команду для выполнения, а скрипт сделает все остальное.

Создайте файл cron, если он еще не создан. Установите время выполнения.

Спасибо, чтобы исследовать.

2 ответа2

1

Вы могли бы сделать:

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

Я не знаю инструмента, который является "мастером" для создания записей cron.

Если ваш вопрос действительно касается использования nano, тогда установите переменную окружения VISUAL в предпочитаемый вами редактор.

0

Я не понимаю, что вы хотите. Обычный способ создания crontab - запустить crontab -e . Затем пользователю «нужно только ввести команду для выполнения, а скрипт сделает все остальное». Все, что нужно сделать пользователю, это установить время и команду для запуска. Как это может быть проще?

Невозможно, чтобы cron установил время автоматически, как он может знать, когда вы хотите выполнить команду? Вы хотите создать crontab со временем по умолчанию ? Если это так, вы можете сделать что-то вроде этого:

#!/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

Вы можете сохранить это как, например, /usr/local/bin/make_crontab.sh .


В качестве альтернативы, если все, что вам нужно, это не использовать nano , измените переменную $EDITOR . Лично я использую emacs поэтому у меня есть эта строка в моем .bashrc:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .