Форумы
Kalina LUG :: Форумы :: Основной :: General
 
<< Предыдущая тема | Следующая тема >>
Выполнение задания в окружении пользователя
Переход на страницу   <<      
Модераторы: kalina, sanitar, NaTty, COMRADE_ARTYOM, variable, Solaris, az, Andreyf1
Автор Добавил
az
Сбт Окт 03 2009, 01:19

ID пользователя #30
Зарегистрирован: Сбт Мар 01 2008, 13:42

Сообщений: 273
Solaris написал(а) ...

Таки выкладываю код скрипта (немного поправил):

cd /var/oracle
ORACLE_SID=test
export ORACLE_SID
sqlplus "/as sysdba"
shutdown immediate
cp -r test ./backup
ORACLE_SID=test
export ORACLE_SID
sqlplus "/as sysdba"
startup

Вот в принципе и все. Что можно сказать по этому поводу?


Первое, что мне бросается в газа, так это использование sqlplus
Использовать sqlplus внутри shell-скриптов можно по-разному. Например вот так:

sqlplus "/ as sysdba" <<EOF 
shutdown immediate
exit;
EOF


Итого, если пытаться подправить ваш код, то
- не забудьте первой строкой shebаng
#!/bin/sh

либо любое ваше предпочтение
- выставляем все необходимые вам переменные
export ИМЯ_ПЕРЕМЕННОЙ=значение

- помимо специфичных переменных особое внимание к переменной PATH (особенно, если вы собираетесь использовать какие-либо утилиты в нестандартных местах расположения без указания пути). В противном случае указывайте путь утилиты полностью. Отвлечённый пример:
при желании вопрользоваться zip находящимся в /opt/bin/
export PATH=/opt/bin
zip аргументы

или уж
/opt/bin/zip аргументы

- фрагменты кода с участием sqlplus оформляем например так
sqlplus "/ as sysdba" <<EOF
команды sqlplus
EOF



[ Редактирование Сбт Окт 03 2009, 09:51 ]
Наверх
Solaris
Сбт Окт 03 2009, 20:02

ID пользователя #22
Зарегистрирован: Втр Фев 26 2008, 15:15

Сообщений: 1559
sqlplus "/ as sysdba" EOF
shutdown immediate
exit;
EOF

#!/bin/sh

Так делал. Тоже не проходит.
Наверх
az
Сбт Окт 03 2009, 20:07

ID пользователя #30
Зарегистрирован: Сбт Мар 01 2008, 13:42

Сообщений: 273
извините, я не понял, что именно вы делали и какова диагностика "не проходит"
код хорошо бы форматировать как код, иначе не очень понятно, что должны означать смайлы

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

итого, ждём скрипт и диагностику.
Наверх
Solaris
Пнд Окт 05 2009, 10:19

ID пользователя #22
Зарегистрирован: Втр Фев 26 2008, 15:15

Сообщений: 1559
Ну что уж тут непонятного? Говорю что Артем предложенный вариант вами тоже делал.
#!/bin/sh

Есть!

sqlplus "/ as sysdba" <<EOF 
shutdown immediate
exit;
EOF

cp -r test ./backup
ORACLE_SID=test
export ORACLE_SID
sqlplus "/as sysdba" <<EOF 
startup
EOF


Не работает.

[ Редактирование Втр Окт 06 2009, 14:48 ]
Наверх
az
Пнд Окт 05 2009, 10:43

ID пользователя #30
Зарегистрирован: Сбт Мар 01 2008, 13:42

Сообщений: 273
Я уже просто отчаялся
Попробую свою просьбу таки ещё раз высказать по пунктам.
1. Что в вашем коде обозначают смайлики? -- это я про просьбу оформлять код, кодом , показывайте пожалуйста полный скрипт как он есть, с охранением форматирования.
2. Я уже просто отчаялся просить вас указать пути к утилитам полностью. Пожалуйста, сделайте же это наконец.
3. Ваш код сильно поменялся с момента последнего показа. Куда делся переход в каталог? Куда делось определение переменных?
4. Не работает -- для меня это слишком непонятно. Увы Какова диагностика "не работает"? Что именно выводится? Какое-то сообщение об ошибке или ещё что-то, что даёт основания полагать о самом факте и причинах "не работает" при запуске вами скрипта. hint: Показать более подробно работу скрипта поможет несколько изменённая первая строчка, например:
#!/bin/sh -x
Наверх
Solaris
Пнд Окт 05 2009, 10:54

ID пользователя #22
Зарегистрирован: Втр Фев 26 2008, 15:15

Сообщений: 1559
Это я уже отчаялся вам объяснить что предложенный вами код тоже не хочет работать. Теперь скажите где можно написать полный путь? К sqlplus или к shutdown immediate или к startup? Какую диагностику вы имеете в виду?

#!/bin/sh

sqlplus "/ as sysdba"  <<EOF 
shutdown immediate
exit;
EOF

cp -r test ./backup
ORACLE_SID=test
export ORACLE_SID
sqlplus "/as sysdba"  <<EOF 
startup
EOF



[ Редактирование Втр Окт 06 2009, 14:47 ]
Наверх
az
Пнд Окт 05 2009, 11:08

ID пользователя #30
Зарегистрирован: Сбт Мар 01 2008, 13:42

Сообщений: 273
Денис, мне НЕ нужно объяснять, что код не работает. Я ЭТО ОТЧЁТЛИВО ПОНИМАЮ С ПЕРВОГО РАЗА. Я не пытаюсь своими постами убедить вас, что код работает Я вполне вам доверяю. Пожалуйста не ставьте целью своих постов убеждение меня в том, что код не работает. Я ВЕРЮ ВАМ. Не стоит отчаиваться по этому поводу. Ваша мысль мне вполне на 100% понятна. Она проста: "Код не работает". Я не знаю, почему вы отчаялись мне это объяснять, я это понял при первом же произнесении этой фразы. Думаю, с этим довольно.

Я понимаю, что нужно решить задачу, но просто уже прошу по человечески, ПОЖАЛУЙСТА ну сделайте же то, о чем вас так просят :
- Ну пропишите же путь к используемым утилитам. (в вашем случае sqlplus)
- Ну скажите же, куда делся переход в каталог (он был в изначальном скрипте)
- Ну покажите же вывод скрипта при запуске скрипта, сперва изменив в нём первую строку на
#/bin/sh -x

- Будет сильно легче, если код не будет содержать смайликов. Я не понимаю, что они означают.

Собственно, я не сказал ничего нового Просто попробуйте это реально сделать.
Наверх
Solaris
Пнд Окт 05 2009, 12:46

ID пользователя #22
Зарегистрирован: Втр Фев 26 2008, 15:15

Сообщений: 1559
Переход в каталог не нужен для пользователя. Но если так необходимо попробую.
Если не трудно можете объяснить зачем симовл х в тексте:
#/bin/sh -x

Смайлики означают 2 знака меньше (ну не знаю как вам еще объяснить) и отключить их не получается. Это стандартный поток. Попробую сделать.
Наверх
az
Пнд Окт 05 2009, 13:11

ID пользователя #30
Зарегистрирован: Сбт Мар 01 2008, 13:42

Сообщений: 273
написал(а) ...

Переход в каталог не нужен для пользователя. Но если так необходимо попробую

Это я не понял, ну да пока и не суть. Вернее это суть для выполнения строки копирования. Надо либо её видоизменять, либо таки переходить в интересующий каталог. В любом случае диагностика покажет её необходимость.
написал(а) ...

Если не трудно можете объяснить зачем симовл х в тексте:
#/bin/sh -x


BASH(1) в районе OPTIONS:
-x Print commands and their arguments as they are executed.
Часто используется при отладке скриптов, наглядно показывая что именно выполняется и облегчая таким образом поиск проблемных мест.
написал(а) ...

и отключить их не получается.

получается, если форматировать код как код. Для наиболее приемлемого отображения кода, его обычно берут в теги "code"

Итого:
1. ждём полного кода подправленного скрипта.
2. ждём вывод этого скрипта при его ручном запуске.
Наверх
Solaris
Пнд Окт 05 2009, 13:23

ID пользователя #22
Зарегистрирован: Втр Фев 26 2008, 15:15

Сообщений: 1559
#!/bin/sh

sqlplus "/ as sysdba"  <<EOF 
shutdown immediate
exit;
EOF

cp -r test ./backup
ORACLE_SID=test
export ORACLE_SID
sqlplus "/as sysdba"  <<EOF 
startup
EOF


Вот такой получился скрипт.
Наверх
az
Пнд Окт 05 2009, 13:30

ID пользователя #30
Зарегистрирован: Сбт Мар 01 2008, 13:42

Сообщений: 273
я надеюсь этот скрипт -- это не ответ на
1. ждём полного кода подправленного скрипта.
2. ждём вывод этого скрипта при его ручном запуске.

?

Если это ещё не подправленный скрипт, то тогда ждём.
Наверх
Solaris
Втр Окт 06 2009, 10:22

ID пользователя #22
Зарегистрирован: Втр Фев 26 2008, 15:15

Сообщений: 1559
Вот полный текст скрипта:
#!/bin/sh
cd /var/oracle
 
sqlplus "/ as sysdba"  <<EOF 
shutdown immediate
exit;
EOF
 
cp -r test ./backup
ORACLE_SID=test
export ORACLE_SID
sqlplus "/as sysdba"  <<EOF 
startup
EOF
Наверх
az
Втр Окт 06 2009, 10:42

ID пользователя #30
Зарегистрирован: Сбт Мар 01 2008, 13:42

Сообщений: 273
повторюсь ещё раз:
я недеюсь -- это НЕ ОВЕТ НА
1. ждём полного кода подправленного скрипта.
2. ждём вывод этого скрипта при его ручном запуске.

Так что продолжаем ждать.

повторюсь и ещё раз о том, как просили его подправить:
ну сделйте же наконец то, о чём мы договорились чуть выше:
1. -x
2. пути

Попробуйте обратить особое внимание на выделенное красным цветом.
Наверх
Solaris
Втр Окт 06 2009, 10:51

ID пользователя #22
Зарегистрирован: Втр Фев 26 2008, 15:15

Сообщений: 1559
Это ИСПРАВЛЕННЫЙ скрипт:
#!/bin/sh -x
cd /var/oracle
 
sqlplus "/ as sysdba"  <<EOF 
shutdown immediate
exit;
EOF
 
cp -r test ./backup
ORACLE_SID=test
export ORACLE_SID
sqlplus "/as sysdba"  <<EOF 
startup
EOF

Вывод скрипта позже будет.
Тоже обратите внимание на буквы жирным шрифтом. Ну сколько можно писать что скрипт уже исправлен!
Ну еще раз для очень непонятливых: вывод скрипта позже!
Наверх
az
Втр Окт 06 2009, 11:10

ID пользователя #30
Зарегистрирован: Сбт Мар 01 2008, 13:42

Сообщений: 273
вывод конкретно этого скрипта может может быть и интересен, но не так сильно как того, который был бы со всеми правками, о которых вас так неоднократно просили.
я очень прошу не игнорировать просьбы, ну либо просто сказать, что это более не нужно/неактуально и т.п.
Слушать не в первый раз о том, что до меня снова что-то "недоходит", по крайней мере неприятно
Наверх
az
Втр Окт 06 2009, 11:22

ID пользователя #30
Зарегистрирован: Сбт Мар 01 2008, 13:42

Сообщений: 273
итого, как и много постов назад:
1. ждём полного подправленного скрипта
2. ждём его вывод при его ручном запуске
ничего нового
Наверх
Переход на страницу   <<       

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System