LINUX.ORG.RU

bash, crontab

 , ,


0

1

есть Bash скрипт. он взаимодействует еще с двумя скриптами связанных с бэкапом.

этот самый BASH скрипт должен проверять на существование строки в /etc/crontab, если ее нет, он добавляет. НО сам /etc/crontab не работает.

какие я права должен дать, чтобы /etc/crontab работал? мне нужен именно он, т.к. скрипт добавляет задачу в файл Crontab. Как реализовать проверку и добавление задачи с crontab -e. я не знаю.

в целом, какие права дать crontab? или же каким способом можно еще добавлять задачи с проверкой через скрипт в Crontab?

Перемещено leave из development


Вопрос про права на файл не понятен, если у вас не было /etc/crontab, то может быть в системе и crond не установлен?

mky ★★★★★
()
Ответ на: комментарий от mky

тааааак.

/etc/crontab есть. я туда добавляю задачу, но выполнение задач не происходит. со скриптом все окей, потому что прогоняю его в ручную и работает.

imwey
() автор топика
Ответ на: комментарий от imwey

так от рута же? и может забыл, что запись должна содержать пользователя?

покажи потроха и что добавляешь, интересно же

Morin ★★★★
()
Последнее исправление: Morin (всего исправлений: 1)
Ответ на: комментарий от imwey

Если задача сводится к «почему из под crond не работает скрипт, который запускается в консоли», то на неё стандартный ответ — проверить что в скрипте полные пути.

А для проверки работоспособности crond рекомендуют в /etc/crontab добавлять простейший скрипт наподобие:

#!/bin/bash
echo 1 > /tmp/tmpfile
и смотреть, появляется ли файл в /tmp.

mky ★★★★★
()
Последнее исправление: mky (всего исправлений: 1)
Ответ на: комментарий от imwey

я туда добавляю задачу

но не учитываешь, что 'crontab -e' не только проверяет синтаксис, но и заставляет cron этот crontab перечитать. Это можно сделать и перестартовав его, но для этого опять-таки нужны права.

ABW ★★★★★
()
Ответ на: комментарий от ABW

Распространёные в linux версии cron'а перечитывают файлы раз в минуту (или проверяют его время/дату/размер).

mky ★★★★★
()
Ответ на: комментарий от ABW

Потому что без постоянного строительства велосипедов нельзя :)

mky ★★★★★
()

А на кой ляд ты напрямую правишь кронтаб? Нельзя егойной, кроновской командой кронтаб править чтобы не морочиться с правами и т.п.? Егойными командами можно и прочитать и записать. Все можно. А еще можно прочитанное распарсить и выяснить есть ли там то что тебе надо.

AfterWork
()

И да. Строку пустую не забудь добавить в кронтаб если напрямую правишь. А то не везде без нее робит.

AfterWork
()

Я сейчас скажу ересь: use systemd timers, Luke!

Включать/отключать таймер можешь через systemctl start/stop my.timer

Раз уж инструмент есть почти повсеместно (почти!), то грех им не пользоваться.

Deleted
()
Ответ на: комментарий от mky

нет, даже простой скрипт не работает. точно такой же скрипт как на этой виртуалке, юзаю на другой виртуалке. там он работает через /etc/crontab

imwey
() автор топика
Ответ на: комментарий от Deleted

systemd timers

Он cron ниасилил, а тут снова мозг нужен.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.