Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / crontab ошибка / 13 сообщений из 13, страница 1 из 1
23.11.2013, 01:59
    #38475086
marguren
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
crontab ошибка
ребята, привет! сто лет тут не была, соскучилась :)
помогите, пожалуйста! на вас вся надежда, а то я уже весь гоогле с яндехом перелопатила!!

короче, пытаюсь запустить обычный .shl скрипт в RHEL5, если руками запускать, все в порядке, ранается как надо, но если только через crontab - выдает такое:


/bin/sh: -c: line 0: syntax error near unexpected token `newline'
/bin/sh: -c: line 0: `/u01/app/poop/banjobs/sfrpini/sfrstop.shl POOP >/dev/null 2>&'


я уже добавляла newline и в konec /u01/app/poop/banjobs/sfrpini/sfrstop.shl фаилa и в конце крона ставила. ничего не помогает. кто знает, подскажите, пожалуиста!!
...
Рейтинг: 0 / 0
23.11.2013, 15:23
    #38475259
MazoHist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
crontab ошибка
marguren /bin/sh: -c: line 0: syntax error near unexpected token `newline'

а если руками, то какой шелл используется? bash?
...
Рейтинг: 0 / 0
24.11.2013, 10:28
    #38475603
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
crontab ошибка
margurenребята, привет! сто лет тут не была, соскучилась :)
помогите, пожалуйста! на вас вся надежда, а то я уже весь гоогле с яндехом перелопатила!!

короче, пытаюсь запустить обычный .shl скрипт в RHEL5, если руками запускать, все в порядке, ранается как надо, но если только через crontab - выдает такое:


/bin/sh: -c: line 0: syntax error near unexpected token `newline'
/bin/sh: -c: line 0: `/u01/app/poop/banjobs/sfrpini/sfrstop.shl POOP >/dev/null 2>&'


я уже добавляла newline и в konec /u01/app/poop/banjobs/sfrpini/sfrstop.shl фаилa и в конце крона ставила. ничего не помогает. кто знает, подскажите, пожалуиста!!

1) Основное отличие crontab от обычной сессии - минимум переменных окружения
Чтобы смоделировать запуск в cron удавите все переменные кроме PATH=/usr/bin
Код: sql
1.
2.
3.
4.
unset  `set | cut -f1 -d=`
PATH=/usr/bin
export PATH
## можно запускать тест



2) Как правильно заметил коллега, причина может быть не в разных типах
shell интерпретатора для запуска одного и того же файла.

Попробуйте прописать псевдокомментарий указывая явно тип shell

Первой строкой в файле
Код: plaintext
#!/bin/bash
...
Рейтинг: 0 / 0
24.11.2013, 10:30
    #38475604
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
crontab ошибка
Ах да, проверьте что у Вас shell файл не скопировался в DOS моде
то есть на конце строк доложно быть только "\n" а не "\r\n"
...
Рейтинг: 0 / 0
24.11.2013, 19:29
    #38475836
marguren
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
crontab ошибка
привет!
огромное спасибо, что отозвались.

MazoHist, да, ручками запускаю в баш.

Vadim Lejnin, у меня стоит #!/bin/sh в начале сkрипта и есче я более, чем уверена, что я не смогу откомментить все variables. у меня их там полно и они должны быть выставлены, иначе ничего не работает вообсче, ни через крон, ни руками.. более того, у меня таких сkриптов, c выставленными переменными полно в кроне! все они запускаются! я попробовала .bash_profile просорсать сначала, vse tozhe samoe....

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH



етот скрипт - последняя линия в кроне.. может с етим как-то связано? я уже измучилась вся, никогда такого не видела.

на \r \n тоже проверяла, у меня нет vim, токо vi, поетому только od -c sfrcheck.test1.shl смогла сделать, не увидела никаких \r...

пожалуйста, подскажите, куда есче копнуть. ето production бох, мне обязательно надо етот скрипт через крон запyстить...

вот cron..

# Check SFRPIPE every 10 mins.
0,10,20,30,34,40,50 * * * * . /home/svc_banjobs/.bash_profile; /u01/app/poop/banjobs/sfrpini/sfrcheck.test1.shl POOP >/dev/null 2>&


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
#!/bin/sh
# sfrcheck.shl
# SYNTAX: sfrcheck.shl $ORACLE_SID
# Check to see if sfrpipes are running for the instance
# If not, run sfrstart.shl
#
#  date
export ORAENV_ASK=NO
export ORACLE_SID=$1
export oracle_sid=`echo ${ORACLE_SID} | tr A-Z a-z`
. /usr/local/bin/oraenv
export BANNER_HOME=/u01/app/poop/${oracle_sid}
export BANNER_LINKS=$BANNER_HOME/links
export BANJOBS_HOME=/u01/app/poop/banjobs
export ORACLE_HOME=/u01/app/oracle/product/11.2.0.3/client_1
export PATH=${BANNER_HOME}/admin:${ORACLE_HOME}/bin:${ORACLE_HOME}/jdk/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/banjobs/bin:/etc:/usr/sbin:/home/banjobs/bin:/usr/bin:/usr/share/java:/sbin:/usr/lib/jvm:/usr/local/src/unicode:.:/opt/FJSVcbl/bin:/opt/FJSVcbl/bin:

<the script itself>





заранее спасибо огромное!!
...
Рейтинг: 0 / 0
24.11.2013, 19:53
    #38475850
marguren
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
crontab ошибка
попробовала #!/bin/bash прописать, тоже самое. вот ответ cron'a...

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
From root@poop.edu  Sun Nov 24 09:40:01 2013
Return-Path: <root@poop.edu>;
Received: from poop.edu (localhost [127.0.0.1])
        by poop.edu (8.14.4/8.14.4) with ESMTP id rAOFe1Hm031495
        for <svc_banjobs@poop.edu>;; Sun, 24 Nov 2013 09:40:01 -0600
Received: (from svc_banjobs@localhost)
        by poop.edu (8.14.4/8.14.4/Submit) id rAOFe18R031464;
        Sun, 24 Nov 2013 09:40:01 -0600
Date: Sun, 24 Nov 2013 09:40:01 -0600
Message-Id: <201311241540.rAOFe18R031464@poop.edu>;
X-Authentication-Warning: poop.edu: svc_banjobs set sender to root using -f
From: root@poop.edu (Cron Daemon)
To: svc_banjobs@poop.edu
Subject: Cron <svc_banjobs@poop>; . /home/svc_banjobs/.bash_profile; /u01/app/poop/banjobs/sfrpini/sfrcheck.test1.shl POOP >/dev/null 2>&
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/svc_banjobs>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=svc_banjobs>
X-Cron-Env: <USER=svc_banjobs>

/bin/sh: -c: line 0: syntax error near unexpected token `newline'
/bin/sh: -c: line 0: `. /home/svc_banjobs/.bash_profile; /u01/app/POOP/banjobs/sfrpini/sfrcheck.test1.shl POOP >/dev/null 2>&'
...
Рейтинг: 0 / 0
24.11.2013, 20:09
    #38475856
MazoHist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
crontab ошибка
А если в кроне вызвать скрипт через bash? как-то так:
автор# Check SFRPIPE every 10 mins.
0,10,20,30,34,40,50 * * * * . /bin/bash /u01/app/poop/banjobs/sfrpini/sfrcheck.test1.shl POOP >/dev/null 2>&
...
Рейтинг: 0 / 0
24.11.2013, 20:32
    #38475872
marguren
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
crontab ошибка
MazoHist, привет. спасибо, что пишешь! попроовала так, тоже самое... :'(
...
Рейтинг: 0 / 0
25.11.2013, 00:20
    #38476048
MazoHist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
crontab ошибка
А вызов точно правильно написан? 2 >& - точно ничего не потеряно?
Код: sql
1.
2.
3.
4.
root@asterisk:~# ./test.sh dummy >/dev/null 2 >&
bash: syntax error near unexpected token `newline'
root@asterisk:~# ./test.sh dummy >/dev/null 2 >&1
root@asterisk:~#
...
Рейтинг: 0 / 0
25.11.2013, 00:33
    #38476060
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
crontab ошибка
1) Вызов профайла вставь в script
Или сделай отдельный ыскрипт с установкой переменных и
вызовом /u01/app/poop/banjobs/sfrpini/sfrstop.shl
Так все же наверное нельзя, вот он и ругается
Код: sql
1.
. /home/svc_banjobs/.bash_profile; /u01/app/poop/banjobs/sfrpini/sfrstop.shl POOP



2)
Код: sql
1.
chmod 755 /u01/app/poop/banjobs/sfrpini/sfrstop.shl
...
Рейтинг: 0 / 0
25.11.2013, 08:27
    #38476142
marguren
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
crontab ошибка
УРААА!! )
MazoHist, огромное спасибо!!! все сработало как надо, вы мой спаситель :)
(блин, вот всегда меня sql.ru спасал, ну всегда!!)
...
Рейтинг: 0 / 0
25.11.2013, 08:33
    #38476145
marguren
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
crontab ошибка
Vadim Lejnin, я не знаю почему, но у меня всегда все переменные в скриптах работают без проблем. никогда не приходилось их source отдельным фаилом..
ну и permissions, конечно, выставляла.. обычно -bash: ./script: Permission denied кричит, когда ему не хватает permissions..

спасибо вам за ваше время и что пиsали мне и не оставляли тут :)
...
Рейтинг: 0 / 0
25.11.2013, 09:15
    #38476172
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
crontab ошибка
margurenVadim Lejnin, я не знаю почему, но у меня всегда все переменные в скриптах работают без проблем. никогда не приходилось их source отдельным фаилом..
ну и permissions, конечно, выставляла.. обычно -bash: ./script: Permission denied кричит, когда ему не хватает permissions..

спасибо вам за ваше время и что пиsали мне и не оставляли тут :)
Удачи!
p.s. Не все ОС понимают конвеер команд в crontab
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / crontab ошибка / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]