1

Привет я пытаюсь обновить запись cron не с помощью crontab -e, а с помощью команд оболочки. Например, запись cron выглядит так:

10 * * * * /home/localuser/foo.sh -b 1 -h 4 > foo_output.sh 2>&1

Нет, мне нужно редактировать только параметры командной строки, т.е.

-b 1 -h 4

к чему-то еще, что придет от пользователя. Первым делом нужно записать crontab в файл tmp, а затем манипулировать этим временным файлом. Теперь, есть ли простой способ редактировать эту строку с помощью SED или что-то? Грубым способом будет удалить всю эту строку, написать новую строку со всем выражением, а затем загрузить ее в cron. Я не очень хорош с регулярными выражениями. Моя система поддерживает sed -i, поэтому я думал, что это можно сделать одной командой. заранее спасибо

1 ответ1

2

Основные шаги для редактирования файла crontab с помощью скрипта будут выглядеть так:

crontab -l > working-file.txt
script-to-edit.sh working-file.txt > edited-file.txt
crontab edited-file.txt

В зависимости от того, как выглядят другие строки в вашем crontab (или могут выглядеть в будущем),
Вы можете написать строку sed для изменения интересующей команды.
Вот пример того, что может сделать script-to-edit.sh ,

sed 's|foo.sh \-b 1 \-h 4|foo.sh -b XXX -h YYY|g'

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