Перейти к содержанию

Рекомендуемые сообщения

Опубликовано (изменено)

Доброго всем.

Создаю скрипт /opt/etc/test_cron.sh


echo "Last run: $(date)">>/opt/etc/test_cron_info.txt

 

Добавляю его в посредством EDITOR=nano crontab -e.

Редактируется файл /opt/var/spool/cron/crontabs/root . Что тока не писал, и сам файл делал исполняемым. И права файлу /opt/var/spool/cron/crontabs/root давал 777.

Но задание не запускается.

Если же вручную добавить в /opt/etc/crontab что то типа (54 это просто ближайщее время для теста)

54 * * * * root /opt/etc/test_cron.sh 

то все работает. И потом команда crontab -l выводит инфу про какой то файл в папке tmp которого там нет.

Цитата

~ # crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.XXXX74jLKl installed on Wed Feb 25 16:33:37 2026)
# (Cron version V5.0 -- $Id: crontab.c,v 1.12 2004/01/23 18:56:42 vixie Exp $)
#0 0 * * * /opt/sbin/xkeen -ug

Просвятите в чем тут дело?

Изменено пользователем Agitech
Опубликовано
22 минуты назад, Agitech сказал:

Добавляю его в посредством EDITOR=nano crontab -e.

добавь это попробуй 
 

54 * * * * /opt/etc/test_cron.sh

 

Опубликовано (изменено)

Да вроде стал писать, но почему то дату не выводит

/opt/etc/crontab

49 * * * * root /opt/etc/test_cron.sh 

/opt/var/spool/cron/crontabs/root

48 * * * * /opt/etc/test_cron.sh

test_cron_info.txt

Last run: Wed Feb 25 20:45:48 MSK 2026
Last run: 
Last run: Wed Feb 25 20:49:01 MSK 2026

первая запись запустил вручную, вторая пользовательский крон, третья глобальная.

Дату не выводит.

Опять где-то накосячил?

Цитата

В Entware две разные версии cron - поиск по форуму помлжет

Ага нашел - 

 

спасибо!

Изменено пользователем Agitech
Опубликовано

Попробуйте

echo "Last run:" $(date) >> /opt/etc/test_cron_info.txt

Ну то есть добавить пробелы по канону, а кавычку перенести.

 

Опубликовано (изменено)

Вопрос у меня после старта роутера нет процесса crond

Цитата

~ # ps | grep cron
  923 root      5084 S    cron -s
 3368 root      5976 R    grep cron

поэтому и не работали задания аплета. Те что здесь прописаны : /opt/var/spool/cron/crontabs/root

Если его стартануть то все работает.

Для пакета opkg есть скрипт в init.d, а как стартует crond?

Изменено пользователем Agitech
Опубликовано (изменено)
3 часа назад, Andre сказал:

Попробуйте

echo "Last run:" $(date) >> /opt/etc/test_cron_info.txt

Ну то есть добавить пробелы по канону, а кавычку перенести.

 

Не понятно .. толи у меня что то глючит не пойму просто убил crond запустил по новой, добавил задание терь работает все норм

#!/bin/sh
DATETIME="$(date +"%Y-%m-%d %T")"
PARENT_CMDLINE=$(cat /proc/$PPID/cmdline | tr '\0' ' ')
#printf "%s\n" "$(date +"%Y-%m-%d %T")" >> /opt/etc/test_cron_info.txt
#printf "PPID:%s; CMDLINE: %s\n" "$PPID" "$PARENT_CMDLINE">>/opt/etc/test_cron_info.txt
echo "PPID:$PPID; CMDLINE: $PARENT_CMDLINE">>/opt/etc/test_cron_info.txt
echo "Last run: $DATETIME">>/opt/etc/test_cron_info.txt
echo "Last run: $(date +"%Y-%m-%d %T")">>/opt/etc/test_cron_info.txt
echo "------">>/opt/etc/test_cron_info.txt

вывод

Цитата

PPID:4804; CMDLINE: crond 
Last run: 2026-02-26 00:29:00
Last run: 2026-02-26 00:29:00
------

специально убрал command substitution, но все работает и так и так. Хз какая то байда у меня с этим crond. Началось с того, что заметил что задания не отрабатывают.

Изменено пользователем Agitech
Опубликовано (изменено)

Да еще что подметил:

# аплет busybox crond
# исполняемый файл - /opt/sbin/crond
# конфиги рута - /opt/var/spool/cron/crontabs/root (так понимаю для каждого юзера своя папка будет)
# не понятно как стартует 
# вернее после установки entware opkg надо допилить как описано в статье по ссылке ниже
для корректной работы надо редатритовать crontab-ом 
EDITOR=nano crontab -e
если править как то по другому может не работать.
так понимаю по вызову crontab перечитывает задания.
# формат записи (без имени пользователя)
* * * * * command

# пакет opkg
# opkg info cron
# исполняемый файл /opt/sbin/cron
# конфиг общий - /opt/etc/crontab (еще так понимаю есть по интервалам папки в папке /opt/etc/)
править можно чем угодно
после изменения надо
/opt/etc/init.d/S10cron restart
# формат записи (имя пользователя)
* * * * * root command

https://forum.keenetic.ru/topic/918-зажигаем-и-выключаем-led-на-keenetic-по-расписанию-с-cron/

Изменено пользователем Agitech
Опубликовано

Ок пробую такое:

/opt/etc/test_cron.sh

#!/bin/sh

DATETIME="$(date +"%Y-%m-%d %T")"
PARENT_CMDLINE=$(cat /proc/$PPID/cmdline | tr '\0' ' ')

printf "Runed: %s; PPID:%s; CMDLINE: %s\n%s\n" "$DATETIME" "$PPID" "$PARENT_CMDLINE" "---">> /opt/etc/test_cron_info.txt

Сначала ## /opt/etc/crontab # пакет opkg. Пишем */1 * * * * root /opt/etc/test_cron.sh . Затем /opt/etc/init.d/S10cron restart

В /opt/etc/test_cron_info.txt видим:

Цитата

Runed: 2026-02-26 14:05:01; PPID:21140; CMDLINE: cron -s 
---
Runed: 2026-02-26 14:06:01; PPID:21164; CMDLINE: cron -s 
---
Runed: 2026-02-26 14:07:01; PPID:21191; CMDLINE: cron -s 
---
Runed: 2026-02-26 14:08:01; PPID:21213; CMDLINE: cron -s 
---
Runed: 2026-02-26 14:09:01; PPID:21370; CMDLINE: cron -s 
---

Ок удаляем запись из /opt/etc/crontab. Рестарт пакета.

Теперь 

EDITOR=nano crontab -e

*/1 * * * * /opt/etc/test_cron.sh

crontab: installing new crontab

В /opt/etc/test_cron_info.txt видим:

Runed: 2026-02-26 14:11:00; PPID:20324; CMDLINE: crond 
---
Runed: 2026-02-26 14:12:00; PPID:20324; CMDLINE: crond 
---
Runed: ; PPID:21473; CMDLINE: 
---
Runed: 2026-02-26 14:13:00; PPID:20324; CMDLINE: crond 
---
Runed: ; PPID:21507; CMDLINE: 

Т.е. первый второй вызов нормальные, а потом лезут какие-то фантомы необъяснимые для меня.

Что это может быть? Переустанавиливать entware и пробовать по новой?

Опубликовано

Насколько я понял вы отказались от crond и установили cron из репозитория

В файле /opt/etc/crontab в конце каждой строки вставьте табуляцию и все пробелы проверьте что это именно пробелы, а не неотображаемые символы

Опубликовано (изменено)

Не отказадся я не отчего я пытаюсь разобраться, как работает и тот и другой. С cron пакетом все понятно. C crond нет.

Установил сейчас свежий entware opkg. Только накатил

opkg install openssh-sftp-server
opkg install nano

Там после свежей установки не работает crond. 

ps | grep cron
964 root      2972 D    grep cron

EDITOR=nano crontab -e
crontab: can't change directory to '/opt/var/spool/cron/crontabs': No such file or directory

ок делаем так

mkdir -p /opt/var/spool/cron/crontabs

После этого запускается crontab но процесса crond всеравно нет.

Заливаю скрипт что выше, даю ему права на запуск. Затем

EDITOR=nano crontab -e

*/1 * * * * /opt/etc/test_cron.sh

потом ctrl+s ctrl+x

Не стартуют задания. И процесса нет.

Возникает вопрос, xkeen туда (в его планировщик) записал задание обновления геобаз. Но не работает crond у меня.

Вот и хочу понять в чем дело.

Изменено пользователем Agitech
добавление
Опубликовано (изменено)

В этом топике 

есть раздел где описано создание скрипта автозапуска для crond

Но у меня вопрос, почему тогда его по умолчании нет после установки и некоторые програмы пишут в файл планировщика crond, так понимаю не создавая этого скрипта. У меня в него и xkeen и smarthtml записали задания свои. А он не стартует.

Как то непонятно.

Ну вот как сделал все как в той статье все заработало с crond. Красота!!!! Теперь в тестовом файле

Цитата

Runed: 2026-02-26 21:42:00; PPID:751; CMDLINE: /opt/sbin/crond -L /dev/null 
---
Runed: 2026-02-26 21:43:00; PPID:751; CMDLINE: /opt/sbin/crond -L /dev/null 
---
Runed: 2026-02-26 21:44:00; PPID:751; CMDLINE: /opt/sbin/crond -L /dev/null 
---
Runed: 2026-02-26 21:45:00; PPID:751; CMDLINE: /opt/sbin/crond -L /dev/null 
---
Runed: 2026-02-26 21:46:00; PPID:751; CMDLINE: /opt/sbin/crond -L /dev/null 
---
Runed: 2026-02-26 21:47:00; PPID:751; CMDLINE: /opt/sbin/crond -L /dev/null 
---

все как и должно быть.

Я просто не знал что надо допиливать этот момент, просто обратил внимание, что задания которые записали в файл планировщика crond не стартуют.

Да и всем спасибо за помощь!

Изменено пользователем Agitech
Опубликовано (изменено)

Да установил новый xkeen с нуля он создал скрипт автозапуска crond. Что-то видно сломалось у меня да и xkeen был древний.

Изменено пользователем Agitech
Опубликовано
12 часов назад, Agitech сказал:

некоторые програмы пишут в файл планировщика crond, так понимаю не создавая этого скрипта. У меня в него и xkeen и smarthtml записали задания свои. А он не стартует.

Entware ничего не знает про эти программы. Они не в репе Entware. Все вопросы к разработчикам keen и smarthtml

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.