NDMS V2 + Entware
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
-
- Сообщения: 58
- Зарегистрирован: 29 сен 2015, 16:21
срипт сделан так же
вот вывод
если запускаю его из putty как /opt/etc/cron.5mins/logger.sh start
время верное, если запускается cronом нет
со вторым скриптом также.
Код: Выделить всё
#! /bin/sh
TZ="ICT-7"
logger "Test of cron every hourly"
вот вывод
Код: Выделить всё
Oct 08 22:35:01cron[2523](root) CMD (/opt/bin/run-parts /opt/etc/cron.5mins^I)
Oct 08 15:35:01rootTest of cron every hourly
Oct 08 22:35:18ndmUPnP::Manager: redirect and forward rules deleted: udp 56651.
если запускаю его из putty как /opt/etc/cron.5mins/logger.sh start
Код: Выделить всё
Oct 08 22:40:29rootTest of cron every hourly
время верное, если запускается cronом нет
со вторым скриптом также.
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
Как говорит Google - среда (environment) для заданий cron не наследуется.Нужно восстанавливать (описаны способы).
Что я могу посоветовать. В скрипт вместо
`TZ="ICT-7"` вставить `. /opr/root/.profile` (точка пробел файл). Тогда среда скрипта будет максимально близка к "putty".
Написать shebang #!/opt/bin/sh (а не непонятно что от NDMS)
попробовать другой вариант cron
Что я могу посоветовать. В скрипт вместо
`TZ="ICT-7"` вставить `. /opr/root/.profile` (точка пробел файл). Тогда среда скрипта будет максимально близка к "putty".
Написать shebang #!/opt/bin/sh (а не непонятно что от NDMS)
попробовать другой вариант cron
-
- Сообщения: 58
- Зарегистрирован: 29 сен 2015, 16:21
Zyxmon писал(а):Источник цитаты `TZ="ICT-7"` вставить `. /opr/root/.profile` (точка пробел файл).
не помогает, в принципе дата в журнале это мелочи, другой вопрос как именно такая реализация повлияет на другие приложения.
попробовать другой вариант cron можно, если есть готовый, но это реш-е локальной проблемы, а не системной.
По совету разработчиков вставил в rc.unslung и .profile строку
export TZ=`cat /etc/TZ | tail -n 1` TZ учитывается автоматически.
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
Yura270972 писал(а):Источник цитаты другой вопрос как именно такая реализация повлияет на другие приложения.
Возможно это просто (стандартная) специфика cron. Поэтому и рекомендовал попробовать другую реализацию). В апплете busybox может быть упрощенная реализация. Задание TZ ни на что, кроме отображения времени не влияет.
Еще одно решение - перевести все в UTC и все будет с одим временем без учета зоны.
Спасибо за подсказку (автоматическое определение TZ) - это решение в первом варианте ответа отсутствовало.
Второй cron уже установлен. /opt/sbin/crond (буква d) и crontab у него в другом месте. Все это рассматривалось на старом форуме.
Код: Выделить всё
~ # mkdir -p /opt/var/spool/cron/crontabs
~ # crontab -e
~ # ls -p /opt/var/spool/cron/crontabs
cron.update root
Как несложно догадаться - это файл /opt/var/spool/cron/crontab/root
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
Вот такой элементарный crontab
У меня в лог пишет правильное время. Запускал crond из консоли (putty)
Последняя команда
Вот кусок лога
Утром проверил - перезагрузил, crond стартует автоматом. Все работает:
Скопируйте файл S10cron -> S10crond, переименуйте внутри файла cron->crond
Управляйте через файл /opt/var/spool/cron/crontabs/root как написано для V1 - http://keenetic.zyxmon.org/wiki/doku.ph ... adach_cron
Код: Выделить всё
~ # cat /opt/var/spool/cron/crontabs/root
SHELL=/bin/sh
MAILTO=""
HOME=/opt/root
# ---------- ---------- Default is Empty ---------- ---------- #
# Please remove every minute task. It is for checking puposes
*/1 * * * * logger "Test of cron every minute"
У меня в лог пишет правильное время. Запускал crond из консоли (putty)
Последняя команда
Код: Выделить всё
date | logger
Вот кусок лога
Код: Выделить всё
[I] Oct 8 22:45:59 crond[271]: crond (busybox 1.23.2) started, log level 8
[I] Oct 8 22:46:00 crond[271]: USER root pid 272 cmd logger "Test of cron every minute"
[I] Oct 8 22:46:00 root: Test of cron every minute
[I] Oct 8 22:47:00 crond[271]: USER root pid 275 cmd logger "Test of cron every minute"
[I] Oct 8 22:47:00 root: Test of cron every minute
[I] Oct 8 22:48:00 crond[271]: USER root pid 278 cmd logger "Test of cron every minute"
[I] Oct 8 22:48:00 root: Test of cron every minute
[I] Oct 8 22:49:00 crond[271]: USER root pid 280 cmd logger "Test of cron every minute"
[I] Oct 8 22:49:00 root: Test of cron every minute
[I] Oct 8 22:50:00 crond[271]: USER root pid 282 cmd logger "Test of cron every minute"
[I] Oct 8 22:50:00 root: Test of cron every minute
[I] Oct 8 22:50:39 root: Thu Oct 8 22:50:39 MSK 2015
Утром проверил - перезагрузил, crond стартует автоматом. Все работает:
Код: Выделить всё
[I] Oct 9 06:59:03 ndm: Core::System::Clock: system time has been changed.
[I] Oct 9 06:59:03 ndm: Ntp::Client: time synchronized with "2.pool.ntp.org".
[E] Oct 9 06:59:07 ndm: Cifs::ServerNQ: "papa" user has "cifs" tag but has no "nt" password, ignored.
[I] Oct 9 06:59:07 ndm: Cifs::ServerNQ: service started.
[E] Oct 9 06:59:21 crond[107]: time disparity of 6787 minutes detected
[I] Oct 9 07:00:00 crond[107]: USER root pid 153 cmd logger "Test of cron every minute"
[I] Oct 9 07:00:00 root: Test of cron every minute
[I] Oct 9 07:01:00 crond[107]: USER root pid 155 cmd logger "Test of cron every minute"
[I] Oct 9 07:01:00 root: Test of cron every minute
[I] Oct 9 07:02:00 crond[107]: USER root pid 157 cmd logger "Test of cron every minute"
[I] Oct 9 07:02:00 root: Test of cron every minute
[I] Oct 9 07:03:00 crond[107]: USER root pid 159 cmd logger "Test of cron every minute"
[I] Oct 9 07:03:00 root: Test of cron every minute
Скопируйте файл S10cron -> S10crond, переименуйте внутри файла cron->crond
Управляйте через файл /opt/var/spool/cron/crontabs/root как написано для V1 - http://keenetic.zyxmon.org/wiki/doku.ph ... adach_cron
-
- Сообщения: 445
- Зарегистрирован: 12 авг 2015, 14:14
- Откуда: Смоленск
logger — это бинарник из прошивки? Если в заданиях cron не будут находиться бинарники по путям /opt/{,s}bin, то лучше в /opt/var/spool/cron/crontabs/root экспортировать вместе с другими переменными PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin.Zyxmon писал(а):Источник цитаты У меня в лог пишет правильное время.
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
Александр Рыжов писал(а):Источник цитаты logger — это бинарник из прошивки?
А другого и нет. Абсолютно согласен с замечанием. Но сейчас все работает, т.к. похоже crond (апплет busybox) и его задания наследуют среду скрипта запуска. А там все задано. С "полноценным" cron несколько иначе.
-
- Сообщения: 58
- Зарегистрирован: 29 сен 2015, 16:21
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
Yura270972 писал(а):Источник цитаты Я правильно понимаю, что cron аналог cron из zyxware?
Я вроде Выше все объяснил. Если я правильно понимаю вопрос - ответ "да".
Как ранее говорил, выкладываю версию с правильной установкой времени для Entware приложений.
http://keenetic.zyxmon.org/files/ndms/z ... pselsf.ipk
Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»
Кто сейчас на конференции
Всего 3 посетителя :: 1 зарегистрированный, 0 скрытых и 2 гостя (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33
Сейчас этот форум просматривают: CommonCrawl [Bot] и 2 гостя