Page 21 of 23 FirstFirst ... 111920212223 LastLast
Results 301 to 315 of 339

Thread: Настройка CRON на роутере

  1. #301
    Дак в прошивке от Merlin есть встроенный cron. Вот тут описание, строка 193.
    RT-N66U: Entware.

  2. #302
    Quote Originally Posted by desper View Post
    Дак в прошивке от Merlin есть встроенный cron. Вот тут описание, строка 193.
    спасибо а со скриптом не поможешь?

  3. #303

    Нужна помощь

    Нужна помощь, не могу разобраться где накосячил:

    есть /usr/local/sbin/post-mount
    Code:
    #!/bin/sh
    /opt/etc/init.d/rc.unslung start
    есть /opt/etc/init.d/rc.unslung
    Code:
    #!/bin/sh
    
    # Start/stop all init scripts in /opt/etc/init.d
    # starting them in numerical order and
    # stopping them in reverse numerical order
    #
    if [ $# -ne 1 ]; then
    printf "Usage: $0 {start|stop}\n" >&2
    exit 1
    fi
    
    daemons=`echo $(/usr/bin/dirname $0)/S??*`
    [ $1 = "stop" ] && daemons=`echo $daemons | /usr/bin/tr " " "\n" | /usr/bin/sort -r`
    
    for i in $daemons; do
    
    # Ignore dangling symlinks (if any).
    [ ! -f "$i" ] && continue
    
    # Write to syslog
    logger -t rc.unslung "$1 service $i"
    
    case "$i" in
    *.sh)
    # Source shell script for speed.
    (
    trap - INT QUIT TSTP
    set $1
    . $i
    )
    ;;
    *)
    # No sh extension, so fork subprocess.
    $i $1
    ;;
    esac
    done
    есть /opt/etc/init.d/S10cron
    Code:
    #!/bin/sh
    
    prefix="/opt"
    PATH=${prefix}/bin:${prefix}/sbin:/sbin:/bin:/usr/sbin:/usr/bin
    NAME=crond
    DAEMON=/usr/sbin/${NAME}
    DAEMON_OPTS="-L /dev/null"
    DAEMON_DIR=/var/spool/cron
    CRONTABS_DIR=${DAEMON_DIR}/crontabs
    CRONTABS_SRC=${prefix}/etc/crontabs
    
    test -x $DAEMON || exit 0
    
    mkdir -p ${DAEMON_DIR}
    if [ ! -h "${CRONTABS_DIR}" ]; then
        ln -s ${CRONTABS_SRC} ${DAEMON_DIR}
    fi
    
    if [ -z "$1" ] ; then
        case `echo "$0" | sed 's:^.*/\(.*\):\1:g'` in
    	S??*) rc="start" ;;
            K??*) rc="stop" ;;
            *) rc="usage" ;;
        esac
    else
        rc="$1"
    fi
    
    case "$rc" in
        start)
    	echo -e -n "$NAME "
    	if [ -n "`pidof $NAME`" ]; then
                echo -e "is already running."
    	else
    	    echo -e "started."
    	    $DAEMON $DAEMON_OPTS
    	fi
            ;;
        stop)
            echo -e -n "$NAME "
            if [ -n "`pidof $NAME`" ]; then
    	    echo -e "stopped"
                killall $NAME 2> /dev/null
    	else
    	    echo -e "is not running."
            fi
            ;;
        restart)
            "$0" stop
            sleep 1
            "$0" start
            ;;
        *)  
            echo "Usage: $0 (start|stop|restart|usage)"
            ;;
    esac
    ну и есть /opt/etc/crontabs
    Code:
    SHELL=/bin/sh
    PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/sbin:/usr/local/sbin:/opt/bin:/usr/local/bin
    MAILTO=""
    HOME=/
    
    */1 * * * * root /opt/bin/run-parts /opt/etc/cron.1min
    */5 * * * * root /opt/bin/run-parts /opt/etc/cron.5mins
    01 * * * * root /opt/bin/run-parts /opt/etc/cron.hourly
    02 4 * * * root /opt/bin/run-parts /opt/etc/cron.daily
    22 4 * * 0 root /opt/bin/run-parts /opt/etc/cron.weekly
    42 4 1 * * root /opt/bin/run-parts /opt/etc/cron.monthly
    есть /opt/etc/cron.1min/logtest.sh
    Code:
    #!/bin/sh
    
    logger -t S10Cron "test Cron.1min"
    в логе вижу запись
    Jan 1 04:00:32 S10Cron: Crond starting
    Jan 1 04:00:32 crond[471]: crond: crond (busybox 1.20.2) started, log level 8

    но нет записи
    test Cron.1min
    Last edited by Sandr; 06-08-2013 at 21:37.
    Yagi7 cdma450. 12,3 dbi, Axesstel MV110, wl500gpV2, 1.9.2.7-rtn-r4051
    Антенна PETRA BB MIMO 2x2, Huawei E392, wl500gpV2 1.9.2.7-rtn-r5066
    Dir-300, DD-WRT v24-sp2 4896

  4. #304
    Sandr
    Права установил?
    Code:
    chmod +x /opt/etc/cron.1min/logtest.sh
    Asus RT-N16 1.9.2.7-rtn-r5051
    Asus WL500gpv2 1.9.2.7-d-r3591

  5. #305
    Проверь еще run-parts.

  6. #306
    на logtest.sh и run-parts права +х стоят
    /opt/bin/run-parts
    Code:
    #!/bin/sh
    #
    # runparts.sh by macsat@macsat.com
    # intended for use with cron
    #
    # based on rc.unslung by unslung guys :-)
    #
    if [ -z "$1" ]
    then
    echo "Usage : $0 "
    fi
    
    RUNDIR=$1"/*"
    
    for i in $RUNDIR ;do
    
    # Ignore dangling symlinks (if any).
    [ ! -f "$i" ] && continue
    
    case "$i" in
    *.sh)
    # Source shell script for speed.
    (
    logger -t "$i" "running"
    trap - INT QUIT TSTP
    set start
    . $i
    )
    ;;
    *)
    # No sh extension, so fork subprocess.
    logger -t "$i" "running"
    $i start
    ;;
    esac
    done
    Удалил /opt/etc/init.d/S10cron
    вставил строчку
    crond в post-mount
    теперь в логе есть записи
    Code:
    Aug  6 23:10:01 crond[466]: crond: USER root pid 730 cmd root /opt/bin/run-parts /opt/etc/cron.1min
    Aug  6 23:10:01 crond[466]: crond: USER root pid 731 cmd root /opt/bin/run-parts /opt/etc/cron.5mins
    но нет записи из logtest.sh

    через терминал запускаю комманду
    /opt/bin/run-parts /opt/etc/cron.1min

    в логе
    Code:
    Aug  6 23:58:01 /opt/etc/cron.1min//logtest.sh: running
    Aug  6 23:58:01 S10Cron: test Cron.1min
    Yagi7 cdma450. 12,3 dbi, Axesstel MV110, wl500gpV2, 1.9.2.7-rtn-r4051
    Антенна PETRA BB MIMO 2x2, Huawei E392, wl500gpV2 1.9.2.7-rtn-r5066
    Dir-300, DD-WRT v24-sp2 4896

  7. #307
    Ну а просто logtest.sh отрабатывает как надо? Если нет, то смотри настройки syslog. У меня например все сообщения от cron пишутся в /opt/var/log/cron.log

  8. #308
    Sandr
    Попробуй вместо туда же засунуть test со следующим содержимым
    Code:
    #!/bin/sh
    "cron.1min running" > /tmp/local/root/test.txt
    и посмотри создался /tmp/local/root/test.txt или нет
    Asus RT-N16 1.9.2.7-rtn-r5051
    Asus WL500gpv2 1.9.2.7-d-r3591

  9. #309
    я ведь написал
    Quote Originally Posted by Sandr View Post
    через терминал запускаю команду
    /opt/bin/run-parts /opt/etc/cron.1min

    в логе
    Code:
    Aug  6 23:58:01 /opt/etc/cron.1min//logtest.sh: running
    Aug  6 23:58:01 S10Cron: test Cron.1min
    То есть - logtest работает как надо

    похоже проблема между cron > run-parts
    crond пишет в лог что cron.1min ежеминутно отрабатывается
    Aug 6 23:10:01 crond[466]: crond: USER root pid 730 cmd root /opt/bin/run-parts /opt/etc/cron.1min
    Yagi7 cdma450. 12,3 dbi, Axesstel MV110, wl500gpV2, 1.9.2.7-rtn-r4051
    Антенна PETRA BB MIMO 2x2, Huawei E392, wl500gpV2 1.9.2.7-rtn-r5066
    Dir-300, DD-WRT v24-sp2 4896

  10. #310
    Sandr
    Пардон, не внимателен, crontab - какие права, если не ошибаюсь, должны быть 644.
    Asus RT-N16 1.9.2.7-rtn-r5051
    Asus WL500gpv2 1.9.2.7-d-r3591

  11. #311
    run-parts тут ни при чём. Поскольку Вы используете прошивочный crond, то обязательно должно быть:

    1 Содержание конфигурационной таблицы:
    Code:
     # ------------------------------------------------------------- #
    # Syntax for lines is : minute hour day month dayofweek command #
    # ------------------------------------------------------------- #
    */1 * * * * /opt/bin/run-parts /opt/etc/cron.1min
    */5 * * * * /opt/bin/run-parts /opt/etc/cron.5mins
    01 * * * * /opt/bin/run-parts /opt/etc/cron.hourly
    02 4 * * * /opt/bin/run-parts /opt/etc/cron.daily
    22 4 * * 0 /opt/bin/run-parts /opt/etc/cron.weekly
    42 4 1 * * /opt/bin/run-parts /opt/etc/cron.monthly
    Как видно, содержание отличается от того, что у Вас - это потому, что а у Вас таблица для CRON
    Таблица обязательно должна иметь последнюю пустую строку (иначе не будет выполняться последняя строка с инструкцией) и права доступа 600 - это справедливо и для таблицы CRON'а.

    2. Имя файла конфигурационной таблицы для прошивочного crond должно быть не "crontabs" а совпадать с именем пользователя, прописанным в /etc/passwd Каждый пользователь может иметь только одну таблицу.
    У Вас, похоже, файл таблицы должен иметь имя root (именно для пользователя root написана Ваша таблица для CRON"а)

    3. Для crond по умочанию место хранения конфигурационной таблицы (и в Вашем S10cron это прописано) - /var/spool/cron/crontabs/, истинный путь без симлинков /tmp/etc/crontabs. Вот здесь и должна лежать Ваша таблица конфигурации с именем root

    В прикрепленном файле мои выводы (перечитал все ветки по cron и crond в этом форуме) по использованию и настройке crond из прошивки вместо cron. И мой файл запуска S10crond - как работающий образец.

    У меня почему-то из /var/spool/cron/crontabs/ конфигурационная таблица периодически исчезает, несмотря на наличие в .files, поэтому я ее держу в /opt/etc/crontabs (в S10cron этот путь прописан в строке CRONTABS_DIR).

    P.s. для CRON имя таблицы конфигурации не crontabs а crontab. При этом есть скрипт, управляющий таблицами конфигурации (создание, редактирование и т.д.), тоже имеет имя crontab, лежит в /opt/bin - отсюда возможна путаница с этими кронтабами.
    Attached Files Attached Files

  12. #312
    Join Date
    Feb 2008
    Location
    Россия, Санкт-Петербург
    Posts
    9
    Вопрос чайника по линуксу - а можно где-то в данной прошивке прописать автозапуск крона с таблицей crontab, без флешки, но с возможностью редактирования, напр. из раздела /tmp/local/etc, т.к. он может сохраняться?

  13. #313

    Автозапуск cron

    Прошу помочь разобраться, как настроить автозапуск своих скриптов, в частности, чтобы
    при загрузке запускался встроенный демон crond, и как сохранить настройки crontab?

    Разобрался, все работает, ниже привожу инструкцию:

    Активация и включение встроенного CRON на WL500gP/RT-N16 и др на прошивке энтузиастов

    Code:
    mkdir -p /var/spool/cron/crontabs
    crontab -e
    # редактируем файл /var/spool/cron/crontabs/admin  к примеру добавим 00 1 * * * reboot
    
    echo "/var/spool/cron/crontabs/admin" >> /usr/local/.files
    mkdir -p /usr/local/sbin
    echo "#!/bin/sh" > /usr/local/sbin/post-boot
    echo "/usr/sbin/crond" >> /usr/local/sbin/post-boot
    
    chmod +x /usr/local/sbin/post-boot
    flashfs save					# save flashfs to image file
    flashfs commit					# save flashfs image to flash
    
    reboot;
    
    ----------
    
    crond -fbS -l N -d N -L LOGFILE -c DIR
            -f      Foreground
            -b      Background (default)
            -S      Log to syslog (default)
            -l      Set log level. 0 is the most verbose, default 8
            -d      Set log level, log to stderr
            -L      Log to file
            -c      Working dir
    
    crontab [-c DIR] [-u USER] [-ler]|[FILE]
            -c      Crontab directory
            -u      User
            -l      List crontab
            -e      Edit crontab
            -r      Delete crontab
            FILE    Replace crontab by FILE ('-': stdin)
    
    min hour day month weekday comand
    ---------
    Last edited by Omega; 02-11-2014 at 14:14.

  14. cron[25891]

    Доброго времени суток у меня Asus RT-N16 с Firmware:3.0.0.4.372.31 (Merlin build) понимаю прошивка не ваша и вы вправе не помогать, но все же подскажите пожалуйста
    после команды

    /opt/etc/init.d/S10cron reconfigure
    /opt/etc/init.d/S10cron restart

    выдаётся в логе

    cron[25891]: (*system*) BAD FILE MODE (/opt/etc/crontab)

    crontab
    SHELL=/bin/sh
    PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/bin:/opt/sbin
    MAILTO=""
    HOME=/
    # ---------- ---------- Default is Empty ---------- ---------- #
    */1 * * * * admin /opt/bin/run-parts /opt/etc/cron.1min
    */5 * * * * admin /opt/bin/run-parts /opt/etc/cron.5mins
    01 * * * * admin /opt/bin/run-parts /opt/etc/cron.hourly
    02 4 * * * admin /opt/bin/run-parts /opt/etc/cron.daily
    22 4 * * 0 admin /opt/bin/run-parts /opt/etc/cron.weekly
    42 4 1 * * admin /opt/bin/run-parts /opt/etc/cron.monthly

  15. #315
    Join Date
    Mar 2011
    Location
    Moscow
    Posts
    248
    Quote Originally Posted by Grey Cardinal View Post
    cron[25891]: (*system*) BAD FILE MODE (/opt/etc/crontab)
    Неужели гугление не помогло?

    Code:
    chmod 644 /opt/etc/crontab
    WL500gp 1.9.2.7-d-r2624, Optware.

Page 21 of 23 FirstFirst ... 111920212223 LastLast

Similar Threads

  1. Установка и настройка Quagga на роутере
    By mymp in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 149
    Last Post: 02-09-2016, 15:21
  2. [HOW-TO] Установка и настройка ownCloud на роутере
    By ryzhov_al in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 6
    Last Post: 11-08-2013, 19:53
  3. Настройка VPN подключения на роутере
    By Tonusichka in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 215
    Last Post: 07-08-2012, 10:19
  4. Настройка mpcs на роутере
    By poptab in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 1059
    Last Post: 17-07-2012, 06:22
  5. Установка и настройка ipkg на роутере
    By FilimoniC in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 250
    Last Post: 06-12-2008, 07:37

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •