Jump to content

Recommended Posts

Posted (edited)

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

Создаю скрипт /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

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

Edited by Agitech
Posted
22 минуты назад, Agitech сказал:

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

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

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

 

  • Thanks 1
Posted (edited)

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

/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 - поиск по форуму помлжет

Ага нашел - 

 

спасибо!

Edited by Agitech
Posted

Попробуйте

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

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

 

Posted (edited)

Вопрос у меня после старта роутера нет процесса 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?

Edited by Agitech
Posted (edited)
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. Началось с того, что заметил что задания не отрабатывают.

Edited by Agitech
Posted (edited)

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

# аплет 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/

Edited by Agitech
Posted

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

/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 и пробовать по новой?

Posted

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

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

Posted (edited)

Не отказадся я не отчего я пытаюсь разобраться, как работает и тот и другой. С 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 у меня.

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

Edited by Agitech
добавление
Posted (edited)

В этом топике 

есть раздел где описано создание скрипта автозапуска для 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 не стартуют.

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

Edited by Agitech
Posted (edited)

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

Edited by Agitech
Posted
12 часов назад, Agitech сказал:

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

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

This site uses cookies. By clicking "I accept" or continuing to browse the site, you authorize their use in accordance with the Privacy Policy.