Задание CRON на пограничном маршрутизаторе Ubiquity для изменения файла hosts

Я пытаюсь настроить cron на моем маршрутизаторе Ubiquity Edge, который будет изменять файл hosts один раз утром и один раз ночью в будние дни, чтобы блокировать различные веб - сайты с 8 утра до 7 вечера M-F.

Я создал 2 shell-скрипты:

/config/scripts/set-blocking-hosts.sh
/config/scripts/set-default-hosts.sh

каждый из них имеет 2 строки:

cp /etc/hosts.blocking /etc/hosts
/etc/init.d/dnsmasq restart

обратите внимание, что первая строка с командой cp отличается в каждом скрипте, чтобы скопировать соответствующий файл (hosts.невыполнение или воинства.блокировка)

если я ssh в маршрутизатор и запустить эти сценарии непосредственно, они делают именно то, что я хочу, и работать отлично.

у меня проблемы с запуском их по расписанию с помощью cron.

вот мои записи cron:

0 8 * * 1-5 /config/scripts/set-blocking-hosts.sh
0 19 * * 1-5 /config/scripts/set-default-hosts.sh

до сих пор я пробовал добавлять эти записи с помощью crontab -e и sudo crontab -e и ни один, кажется, не работает.

Я искал файл журнала в /var/log но я ничего не смогла найти релевантный.

если я выполню эту команду,ps -ef | grep cron | grep -v grep Я получаю следующий результат, предполагая, что cron работает.

root     490     1     0 Oct24 ?     00:00:09 /usr/sbin/cron

Я не уверен, где я должен поместить записи cron для выполнения заданий или если мне нужно перезагрузить маршрутизатор, или если что-то выключено где-то, или если такого рода вещи не поддерживаются на маршрутизаторе.

отказ от ответственности, я не системный парень или Linux парень, так что большую часть этого я понял через исследования и проб и ошибок.

любая помощь очень ценится!

20
задан Matthew
17.04.2023 7:46 Количество просмотров материала 2944
Распечатать страницу

1 ответ

решить

во-первых, это было достигнуто с помощью sudo crontab -e хотя он также может работать с помощью crontab-e от вошедшего в систему пользователя-я просто не знаю, будет ли проблема с разрешением.

во-вторых, записи cron должны быть изменены, чтобы включить ведущий "sh", как показано ниже:

0 8 * * 1-5 sh /config/scripts/set-blocking-hosts.sh
0 19 * * 1-5 sh /config/scripts/set-default-hosts.sh

наконец, и это, вероятно, изолированы от меня - я изменил часовой пояс на моем маршрутизаторе от UTC до PST и не перезагружается. В то время как date показал бы местное время как PST, думаю cron все еще работает на основе UTC -- возможно, если бы я перезапустил cron, мне не нужна перезагрузка маршрутизатора.

1
отвечен Matthew 2023-04-18 15:34

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх