Программное управление crontab из bash
Иногда возникает необходимость остановить или запустить выполнение задач cron из shell-скриптов. Для этого были разработаны два скрипта, для удаления задачи и для ее добавления в crontab. cron_add.sh
1 2 3 4 5 6 7 8 9 | #!/bin/bash
CRON="1 2 3 4 5 /root/bin/backup.sh"
if fgrep -i "$CRON" <(crontab -l)
then
echo "Задача уже присутствует в crontab"
else
cat <(crontab -l) <(echo "${CRON}") | crontab -
fi
|
cron_remove.sh
1 2 3 4 5 6 7 8 9 10 11 | #!/bin/bash
CRON="1 2 3 4 5 /root/bin/backup.sh"
if fgrep -i "$CRON" <(crontab -l)
then
echo "Задача присутствует в crontab, удаляем"
cat <(fgrep -i -v "$CRON" <(crontab -l)) | crontab -
else
echo "Задачи нет в crontab"
fi
|
В переменной CRON содержится необходимая строка. Ньюанс - скрипты почему-то не совместимы с оболочкой sh, а в bash отрабатывают нормально.
Comments !