Page 17 of 23 FirstFirst ... 71516171819 ... LastLast
Results 241 to 255 of 339

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

  1. #241
    Используйте встроенный cron. Щачем вам внешний?
    Кстати, есть такая программа logger
    Формат
    logger text message

    Сует text nessage в syslog. Полезно в скриптах использовать
    Sorry for my bad English.
    Покупайте Отечественных Слонов!!!

  2. #242
    Разобрался, проблема в скрипте.
    Точнее код
    Code:
    ls -l /opt/var/log/queue/*.txt | grep '\d+\.txt' -P -o -num 1 | grep '\d+\.txt' -P -o
    который спокойно выполняется при ручном запуске скрипта, не хочет выполняться через Cron. Если копировать абсолютным путем, то по Cron отрабатывает и копирует, а по grep Cron отрабатывать не хочет.

  3. #243
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    пишите все бинарники, как то ls, grep итд с полными путями, либо в начале файла в явном виде задавайте PATH

  4. #244
    Quote Originally Posted by al37919 View Post
    пишите все бинарники, как то ls, grep итд с полными путями, либо в начале файла в явном виде задавайте PATH
    Спасибо, все заработало!!

  5. #245
    Прошу обратить внимание, что в отличие от optware'овского cron, crond из busybox'а при исполнении shell-скриптов не использует настройки профиля пользователя. При необходимости, прописывайте переменные PATH, LANG, TERM и другие прямо в теле скриптов.

  6. #246
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    Quote Originally Posted by ryzhov_al View Post
    в отличие от optware'овского cron, crond из busybox'а при исполнении shell-скриптов не использует настройки профиля пользователя.
    Все pre-*/post-* скрипты из которых производится запуск как оптварного cron, так и crond из прошивки, а также всего того, что пользователь хочет запускать автоматом при старте устройства, запускаются процессом /sbin/init и никакие пользовательские профили там недействительны.

  7. #247
    Quote Originally Posted by al37919 View Post
    Все pre-*/post-* скрипты из которых производится запуск как оптварного cron, так и crond из прошивки, а также всего того, что пользователь хочет запускать автоматом при старте устройства, запускаются процессом /sbin/init и никакие пользовательские профили там недействительны.
    +1
    Вообще при написании скриптов старайтесь ВСЕГДА указывать полный путь от "/" (можно в переменной в начале файла), тогда 50% неправильной работы скрипта будет исключено ... и крики "вот из консоли работает, а при загрузке нет" просто будут исключены ...

  8. #248
    Проверил, согласен. В момент исполнения shell-скриптов по cron'у установлены лишь переменные, указанные в crontab. Проверял так:
    1. Создаю файлик:
    Code:
    $ cat /tmp/harddisk/getenvvars.sh
    #!/bin/sh
    set > /tmp/harddisk/env.txt
    2. Создаю соответствующее задание в crontab:
    Code:
    $ cat /opt/etc/crontab
    SHELL=/bin/sh
    PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/bin:/opt/sbin
    MAILTO=""
    HOME=/
    # ---------- ---------- Default is Empty ---------- ---------- #
    #min    hr      dayOfM  month   dayOfW  command
    */1 * * * * root /tmp/harddisk/getenvvars.sh
    ...
    3. Перегружаю роутер для того, чтобы cron стартовал от /sbin/init, а не из моей shell-среды. Смотрю в syslog:
    Code:
    Apr 17 21:55:01 cron[769]: (root) CMD (/opt/etc/cron.1min/getenvvars.sh^I)
    4. Вижу, что переменные среды в момент исполнения скрипта были следующие:
    Code:
    $ cat /tmp/harddisk/env.txt
    HOME='/'
    IFS='
    '
    LOGNAME='root'
    MAILTO=''
    PATH='/sbin:/bin:/usr/sbin:/usr/bin:/opt/bin:/opt/sbin'
    PPID='773'
    PS1='\w \$ '
    PS2='> '
    PS4='+ '
    PWD='/'
    RUNDIR='/tmp/harddisk/*'
    SHELL='/bin/sh'
    USER='root'
    i='/tmp/harddisk/getenvvars.sh'
    Я хотел отметить следующий момент. Выше приведён вариант отработки скрипта средствами cron из optware. Если попытаться использовать crond из прошивки, то при отработке скрипта в логе появляется строка:
    Code:
    Apr 17 21:47:01 crond[554]: crond: USER root pid 782 cmd god /tmp/harddisk/getenvvars.sh
    но скрипт не выполняется, причём в процессах намертво повисает
    Code:
    $ ps afx
      PID TTY      STAT   TIME COMMAND
    ...
      554 ?        Ss     0:00 crond -b -S -c /var/spool/cron/crontabs
      766 ?        Z      0:00  \_ [sh] <defunct>
      765 ?        Z      0:00  \_ [sh] <defunct>
    Ч.д?
    Last edited by ryzhov_al; 17-04-2011 at 19:18.

  9. #249
    Что означает строка в системном логе после которой падает cron
    Apr 19 21:35:07 /opt/sbin/cron[22691]: (CRON) DEATH (can't lock /opt/var/run/cron.pid, otherpid may be 22619: Resource temporarily unavailable)
    Как ее победить?

  10. #250
    Quote Originally Posted by partner View Post
    Что означает строка в системном логе после которой падает cron
    Apr 19 21:35:07 /opt/sbin/cron[22691]: (CRON) DEATH (can't lock /opt/var/run/cron.pid, otherpid may be 22619: Resource temporarily unavailable)
    Как ее победить?
    Либо у вас второй крон запущен, либо этот файл просто снести надо
    Sorry for my bad English.
    Покупайте Отечественных Слонов!!!

  11. #251
    Quote Originally Posted by FilimoniC View Post
    Либо у вас второй крон запущен, либо этот файл просто снести надо
    файла этого по указанному пути нету. У меня скорее всего происходит запуск второго крон-а. Помогите найти ошибку. Готов показать все что скажите. А то уже устал каждый вечер чтобы посмотреть статистику ручками запускать крон.

  12. #252
    Quote Originally Posted by partner View Post
    файла этого по указанному пути нету. У меня скорее всего происходит запуск второго крон-а. Помогите найти ошибку. Готов показать все что скажите. А то уже устал каждый вечер чтобы посмотреть статистику ручками запускать крон.
    $ ps -ax | grep cron до запуска крона сделайте
    Sorry for my bad English.
    Покупайте Отечественных Слонов!!!

  13. #253
    Quote Originally Posted by FilimoniC View Post
    $ ps -ax | grep cron до запуска крона сделайте
    Ок, вечером сделаю (я щас на работе). Заранее спасибо!

  14. #254
    Quote Originally Posted by partner View Post
    Ок, вечером сделаю (я щас на работе). Заранее спасибо!
    Я к тому что скорее всего он у вас уже запущен :-)
    Sorry for my bad English.
    Покупайте Отечественных Слонов!!!

  15. #255
    Quote Originally Posted by FilimoniC View Post
    Я к тому что скорее всего он у вас уже запущен :-)
    не понял... что мне тогда сделать?

    Quote Originally Posted by FilimoniC View Post
    $ ps -ax | grep cron до запуска крона сделайте
    после запуска выводится

    [partner@Gateway root]$ ps ax | grep cron
    ps: invalid option -- a
    BusyBox v1.18.4 (2011-04-05 04:42:31 MSD) multi-call binary.

    Usage: ps

    Show list of processes

    Options:
    w Wide output


    Набрал просто ps, в списке активных процессов нету, по системному логу вижу что 5-ти минутные скрипты не отрабатывают.

    /opt/var/run/cron.pid - а вообще что за файл, для чего он нужен? у меня его вообще нету, как его создать?
    Last edited by Omega; 20-04-2011 at 19:26. Reason: 2 post merged

Page 17 of 23 FirstFirst ... 71516171819 ... 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
  •