Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / Запуск dbaccess из crontab / 14 сообщений из 14, страница 1 из 1
11.09.2008, 13:29
    #35533953
Komedyant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск dbaccess из crontab
День добрый. Пытаюсь сделать update statistics через crontab. В crontab'e такая строка:

26 11 11 09 * /backupinformix/updstat/updstat.sh >> /tmp/log_out 2>&1

Содержание updstat.sh:

#!/bin/sh


INFPROFILE=/mnt/script/profileCAD
. $INFPROFILE
DAT=`date +%Y%m%d%H%M`
PROG=updstat
WORKDIR=/backupInformix/updstat/
cd $WORKDIR
echo ---------- begin ----------->>$PROG.log
date >> $PROG.log
dbaccess sicf /backupInformix/updstat/updstat.sql >> /backupInformix/updstat/upd_$DAT.log
echo ----------- end ------------>>$PROG.log
date >> $PROG.log


Содержание updstat.sql:

update statistics high for table help;

Содержание profileCAD:

#!/bin/sh

#folder name in date format year to minutes
#INFPROFILE=/mnt/script/cad_profile
#. $INFPROFILE
PROG=cad_profile
WORKDIR=/mnt/script/
echo ---------- begin ----------->>$PROG.log
date >> $PROG.log
/bin/bash --rcfile /mnt/script/cad_profile
echo ----------- end ------------>>$PROG.log
date >> $PROG.log


Содержание cad_profile:

# .bash_profile

export INFORMIXDIR=/opt/informix
export PATH=$INFORMIXDIR/bin:$PATH
export INFORMIXSERVER=ol_cad1
export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts
export ONCONFIG=onconfig.cadastru
export DB_LOCALE=en_us.57372
export CLIENT_LOCALE=en_us.57372
export SERVER_LOCALE=en_us.57372
export DBTIME='%Y-%m-%d %H:%M'
export DBDATE=dmy4.
export GLDATE=dmy4.
export DBLANG=en_us.57372
export DBDELIMITER='|'


При выполнении из crontab'a дает ошибку:

/backupInformix/updstat/updstat.sh: line 13: dbaccess: command not found

Если просто из command line, то выполняется. Что нужно еще поставить/поменять для выполнения из crontab'a ?
...
Рейтинг: 0 / 0
11.09.2008, 13:47
    #35534024
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск dbaccess из crontab
Komedyant
INFPROFILE=/mnt/script/profileCAD
. $INFPROFILE

~~~~~~~~~~~~~~~~~~~~~~~

PROG=cad_profile

PROG=cad_profile что делает эта строка по вашему мнению? Или пропустили
. $PROG
???
...
Рейтинг: 0 / 0
11.09.2008, 13:48
    #35534026
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск dbaccess из crontab
и путь скорее всего должен быть полным.
...
Рейтинг: 0 / 0
11.09.2008, 14:01
    #35534075
Komedyant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск dbaccess из crontab
Журавлев Денис Komedyant
INFPROFILE=/mnt/script/profileCAD
. $INFPROFILE

~~~~~~~~~~~~~~~~~~~~~~~

PROG=cad_profile

PROG=cad_profile что делает эта строка по вашему мнению? Или пропустили
. $PROG
???

Я так понимаю в PROG заносит "cad_profile", просто для создания потом фаила с именем: cad_profile.log
...
Рейтинг: 0 / 0
11.09.2008, 14:03
    #35534081
Komedyant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск dbaccess из crontab
Журавлев Дениси путь скорее всего должен быть полным.

Какие именно пути?
...
Рейтинг: 0 / 0
11.09.2008, 14:06
    #35534094
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск dbaccess из crontab
KomedyantЯ так понимаю в PROG заносит "cad_profile", просто для создания потом фаила с именем: cad_profile.logах вот оно что. Тогда зачем нужен файл cad_profile, откуда он вызывается? Ведь именно в нем устанавливается окружение (например путь к dbaccess)
...
Рейтинг: 0 / 0
11.09.2008, 14:08
    #35534101
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск dbaccess из crontab
Komedyant Журавлев Дениси путь скорее всего должен быть полным.
Какие именно пути?
Ну я думал задумано было следующее:

PROG=/mnt/script/cad_profile
. $PROG
...
Рейтинг: 0 / 0
11.09.2008, 14:09
    #35534103
Komedyant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск dbaccess из crontab
Журавлев Денис KomedyantЯ так понимаю в PROG заносит "cad_profile", просто для создания потом фаила с именем: cad_profile.logах вот оно что. Тогда зачем нужен файл cad_profile, откуда он вызывается? Ведь именно в нем устанавливается окружение (например путь к dbaccess)

/bin/bash --rcfile /mnt/script/cad_profile
...
Рейтинг: 0 / 0
11.09.2008, 14:10
    #35534108
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск dbaccess из crontab
для отладки можно set -x тогда правда всплывет

#!/bin/sh
set -x
...
Рейтинг: 0 / 0
11.09.2008, 14:14
    #35534121
Komedyant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск dbaccess из crontab
Журавлев Денисдля отладки можно set -x тогда правда всплывет

#!/bin/sh
set -x

Если в updstat.sh поставить вначале:

export INFORMIXDIR=/opt/informix
export PATH=$INFORMIXDIR/bin:$PATH
export INFORMIXSERVER=ol_cad1
export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts
export ONCONFIG=onconfig.cadastru
export DB_LOCALE=en_us.57372
export CLIENT_LOCALE=en_us.57372
export SERVER_LOCALE=en_us.57372
export DBTIME='%Y-%m-%d %H:%M'
export DBDATE=dmy4.
export GLDATE=dmy4.
export DBLANG=en_us.57372
export DBDELIMITER='|'


возьмет ли он правильно environment variables?
...
Рейтинг: 0 / 0
11.09.2008, 14:16
    #35534124
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск dbaccess из crontab
Komedyant
возьмет ли он правильно environment variables?конечно, куда он денется.
...
Рейтинг: 0 / 0
11.09.2008, 16:46
    #35534723
Paul Tatarenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск dbaccess из crontab
Журавлев Денис Komedyant
возьмет ли он правильно environment variables?конечно, куда он денется.
Только лучше всё же держать переменные в одном файле и использовать его там, где нужно, вот так примерно:
Код: plaintext
1.
PROG=/mnt/script/cad_profile
. $PROG
Тогда при необходимости изменения переменных не придётся перерывать кучу скриптов...
...
Рейтинг: 0 / 0
11.09.2008, 17:54
    #35534945
Алексан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск dbaccess из crontab
Komedyant Журавлев Денис KomedyantЯ так понимаю в PROG заносит "cad_profile", просто для создания потом фаила с именем: cad_profile.logах вот оно что. Тогда зачем нужен файл cad_profile, откуда он вызывается? Ведь именно в нем устанавливается окружение (например путь к dbaccess)

/bin/bash --rcfile /mnt/script/cad_profile Эта команда порождает новый шел, в котором устанавливаются переменные окружения и, затем, этот новый щел закрывается - в желаемом шеле ничего не остаётся. Выполняйте скрипт cad_profile в текущем шеле, т.е. пишите "точка пробел cad_profile".
...
Рейтинг: 0 / 0
11.09.2008, 18:55
    #35535075
Komedyant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск dbaccess из crontab
Большое всем спасибо за ответы, скрипт успешно запускается из crontab.
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Запуск dbaccess из crontab / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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