Время крона и время в логах отличаются

Подскажите, куда копать? Это же одна и та же система

defineRule(“0403off”, {
when: cron(“0 51 6 4 3 *”),
then: function() {
log(‘Cron OFF’);
dev[“wb-gpio/EXT1_K15”] = false;
dev[“wb-gpio/EXT1_K16”] = false;
}
});

04-03-2025 04:51:00.001 INFO: [rule info] Cron OFF

Добрый день,

Судя по всему, правило defineRule(“0403off”) настроено на срабатывание 4 марта (04.03) в 06:51, но в логе указано 04:51. Это может указывать на проблему с часовым поясом.

Рекомендую:

  1. Проверить часовой пояс в системе, выполнив команды:
timedatectl
date

Убедится, что текущее время системы совпадает с ожидаемым.

  1. Также рекомендую проверить правильность форматирования cron-выражения в правиле, чтобы исключить возможные ошибки в расписании выполнения.

Время верное. Gmt+5. Обе же эти системы на одном сервере сидят и крон и веб морда и логи

С уважением,
Добровольский Дмитрий
+79028532413

Проверьте системные логи на наличие ошибок, связанных с выполнением вашего правила. Это можно сделать командой `journalctl -u cron --no-pager, чтобы найти связанное с cron выполнение.

Что то не вижу сислог
root@wirenboard-A4MPZTBW:/mnt/data/root# grep CRON /var/log/syslog
grep: /var/log/syslog: No such file or directory
root@wirenboard-A4MPZTBW:/mnt/data/root#
root@wirenboard-A4MPZTBW:/var/log# find / -name syslog
find: ‘/mnt/sdcard’: No such device
find: ‘/proc/3073923’: No such file or directory
find: ‘/proc/3073924’: No such file or directory
find: ‘/proc/3073925’: No such file or directory
find: ‘/proc/3073926’: No such file or directory
root@wirenboard-A4MPZTBW:/var/log#

Время екатеринбургское, все ок
root@wirenboard-A4MPZTBW:/# timedatectl
Local time: Tue 2025-03-04 20:28:23 +05
Universal time: Tue 2025-03-04 15:28:23 UTC
RTC time: Tue 2025-03-04 15:28:23
Time zone: Asia/Yekaterinburg (+05, +0500)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
root@wirenboard-A4MPZTBW:/#

root@wirenboard-A4MPZTBW:/# date
Tue Mar 4 20:29:32 +05 2025
root@wirenboard-A4MPZTBW:/#

а логи по мск

Вот прям интересно, крон отрабатывает по времени екатеринбурга, как и системная локаль
defineRule(“test”, {
when: cron(“0 49 20 4 3 *”),
then: function() {
log(‘Cron ON’);
dev[“wb-gpio/EXT1_K15”] = true;
dev[“wb-gpio/EXT1_K16”] = true;
}
});

а логи упорно пишутся по мск,

04-03-2025 18:49:00.002 INFO: [rule info] Cron ON
04-03-2025 18:48:53.590 INFO: reloading file: /etc/wb-rules/rules.js
Welcome to Wiren Board 8.4.4 (s/n A4MPZTBW), release wb-2501 (as stable)
Linux wirenboard-A4MPZTBW 6.8.0-wb114+wb101 #1 SMP Mon Nov 18 09:22:38 UTC 2024 aarch64 GNU/Linux

пакеты все обновлены
apt update
apt upgrade

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

1 лайк

Добрый день!
Ввел в заблуждение, данная команда показывает логи крона на контроллере.

`journalctl -u cron --no-pager,

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

journalctl -u cron --no-pager
тут ничего нету, логи wb-rules

04-03-2025 15:18:00.002 INFO: [rule info] Cron ON
04-03-2025 04:51:00.001 INFO: [rule info] Cron OFF

логи этой команды
Mar 04 00:17:01 wirenboard-A4MPZTBW CRON[2437373]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 00:17:01 wirenboard-A4MPZTBW CRON[2437374]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 00:17:01 wirenboard-A4MPZTBW CRON[2437373]: pam_unix(cron:session): session closed for user root
Mar 04 01:17:01 wirenboard-A4MPZTBW CRON[2468927]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 01:17:01 wirenboard-A4MPZTBW CRON[2468928]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 01:17:01 wirenboard-A4MPZTBW CRON[2468927]: pam_unix(cron:session): session closed for user root
Mar 04 02:17:01 wirenboard-A4MPZTBW CRON[2500486]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 02:17:01 wirenboard-A4MPZTBW CRON[2500487]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 02:17:01 wirenboard-A4MPZTBW CRON[2500486]: pam_unix(cron:session): session closed for user root
Mar 04 03:10:01 wirenboard-A4MPZTBW CRON[2528817]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 03:10:01 wirenboard-A4MPZTBW CRON[2528818]: (root) CMD (test -e /run/systemd/system || SERVICE_MODE=1 /sbin/e2scrub_all -A -r)
Mar 04 03:10:01 wirenboard-A4MPZTBW CRON[2528817]: pam_unix(cron:session): session closed for user root
Mar 04 03:17:02 wirenboard-A4MPZTBW CRON[2532500]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 03:17:02 wirenboard-A4MPZTBW CRON[2532501]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 03:17:02 wirenboard-A4MPZTBW CRON[2532500]: pam_unix(cron:session): session closed for user root
Mar 04 04:17:01 wirenboard-A4MPZTBW CRON[2564039]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 04:17:01 wirenboard-A4MPZTBW CRON[2564040]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 04:17:01 wirenboard-A4MPZTBW CRON[2564039]: pam_unix(cron:session): session closed for user root
Mar 04 05:17:01 wirenboard-A4MPZTBW CRON[2595652]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 05:17:01 wirenboard-A4MPZTBW CRON[2595657]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 05:17:01 wirenboard-A4MPZTBW CRON[2595652]: pam_unix(cron:session): session closed for user root
Mar 04 06:17:01 wirenboard-A4MPZTBW CRON[2627220]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 06:17:01 wirenboard-A4MPZTBW CRON[2627221]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 06:17:01 wirenboard-A4MPZTBW CRON[2627220]: pam_unix(cron:session): session closed for user root
Mar 04 06:25:01 wirenboard-A4MPZTBW CRON[2631430]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 06:25:01 wirenboard-A4MPZTBW CRON[2631431]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))
Mar 04 06:25:01 wirenboard-A4MPZTBW CRON[2631430]: pam_unix(cron:session): session closed for user root
Mar 04 07:17:01 wirenboard-A4MPZTBW CRON[2658831]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 07:17:01 wirenboard-A4MPZTBW CRON[2658832]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 07:17:01 wirenboard-A4MPZTBW CRON[2658831]: pam_unix(cron:session): session closed for user root
Mar 04 08:17:01 wirenboard-A4MPZTBW CRON[2690383]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 08:17:01 wirenboard-A4MPZTBW CRON[2690384]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 08:17:01 wirenboard-A4MPZTBW CRON[2690383]: pam_unix(cron:session): session closed for user root
Mar 04 09:17:01 wirenboard-A4MPZTBW CRON[2721931]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 09:17:01 wirenboard-A4MPZTBW CRON[2721932]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 09:17:01 wirenboard-A4MPZTBW CRON[2721931]: pam_unix(cron:session): session closed for user root
Mar 04 10:17:01 wirenboard-A4MPZTBW CRON[2753479]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 10:17:01 wirenboard-A4MPZTBW CRON[2753480]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 10:17:01 wirenboard-A4MPZTBW CRON[2753479]: pam_unix(cron:session): session closed for user root
Mar 04 11:17:01 wirenboard-A4MPZTBW CRON[2785031]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 11:17:01 wirenboard-A4MPZTBW CRON[2785032]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 11:17:01 wirenboard-A4MPZTBW CRON[2785031]: pam_unix(cron:session): session closed for user root
Mar 04 12:17:01 wirenboard-A4MPZTBW CRON[2816947]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 12:17:01 wirenboard-A4MPZTBW CRON[2816948]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 12:17:01 wirenboard-A4MPZTBW CRON[2816947]: pam_unix(cron:session): session closed for user root
Mar 04 13:17:01 wirenboard-A4MPZTBW CRON[2848478]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 13:17:01 wirenboard-A4MPZTBW CRON[2848479]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 13:17:01 wirenboard-A4MPZTBW CRON[2848478]: pam_unix(cron:session): session closed for user root
Mar 04 14:17:01 wirenboard-A4MPZTBW CRON[2880021]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 14:17:01 wirenboard-A4MPZTBW CRON[2880022]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 14:17:01 wirenboard-A4MPZTBW CRON[2880021]: pam_unix(cron:session): session closed for user root
Mar 04 15:17:01 wirenboard-A4MPZTBW CRON[2911546]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 15:17:01 wirenboard-A4MPZTBW CRON[2911547]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 15:17:01 wirenboard-A4MPZTBW CRON[2911546]: pam_unix(cron:session): session closed for user root
Mar 04 16:17:01 wirenboard-A4MPZTBW CRON[2943092]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 16:17:01 wirenboard-A4MPZTBW CRON[2943093]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 16:17:01 wirenboard-A4MPZTBW CRON[2943092]: pam_unix(cron:session): session closed for user root
Mar 04 17:17:01 wirenboard-A4MPZTBW CRON[2974644]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 17:17:01 wirenboard-A4MPZTBW CRON[2974645]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 17:17:01 wirenboard-A4MPZTBW CRON[2974644]: pam_unix(cron:session): session closed for user root
Mar 04 18:17:01 wirenboard-A4MPZTBW CRON[3006181]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 18:17:01 wirenboard-A4MPZTBW CRON[3006182]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 18:17:01 wirenboard-A4MPZTBW CRON[3006181]: pam_unix(cron:session): session closed for user root
Mar 04 19:17:01 wirenboard-A4MPZTBW CRON[3037785]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 19:17:01 wirenboard-A4MPZTBW CRON[3037786]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 19:17:01 wirenboard-A4MPZTBW CRON[3037785]: pam_unix(cron:session): session closed for user root
Mar 04 20:17:01 wirenboard-A4MPZTBW CRON[3069346]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 20:17:01 wirenboard-A4MPZTBW CRON[3069347]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 20:17:01 wirenboard-A4MPZTBW CRON[3069346]: pam_unix(cron:session): session closed for user root
Mar 04 21:17:01 wirenboard-A4MPZTBW CRON[3103278]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 21:17:01 wirenboard-A4MPZTBW CRON[3103279]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 21:17:01 wirenboard-A4MPZTBW CRON[3103278]: pam_unix(cron:session): session closed for user root
Mar 04 22:17:01 wirenboard-A4MPZTBW CRON[3134861]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 22:17:01 wirenboard-A4MPZTBW CRON[3134862]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 22:17:01 wirenboard-A4MPZTBW CRON[3134861]: pam_unix(cron:session): session closed for user root
Mar 04 23:17:02 wirenboard-A4MPZTBW CRON[3166428]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 04 23:17:02 wirenboard-A4MPZTBW CRON[3166429]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 04 23:17:02 wirenboard-A4MPZTBW CRON[3166428]: pam_unix(cron:session): session closed for user root

Да, браузеру передается UTC, а он его переводит в локальное согласно настройкам компьютера. Аналогичная ситуация с графиками - там вы тоже видите время не контроллера, а компьютера.

Добрый день,
Удалось ли решить вопрос?