The UNIX and Linux Forums  

Go Back   В UNIX и Linux Форумы > Топ форумы > UNIX для чайников Вопросы И Ответы
.
Google unix.com



UNIX для чайников Вопросы И Ответы Если вы не уверены в том, где разместить UNIX или Linux вопрос, задайте его здесь. Все UNIX и Linux приветствуем новичков!!

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Скрипт не работает должным образом при запуске из Crontab simoncjones Shell программирование и сценарии 2 05-03-2009 03:11 PM
Проблема Запуск оболочки скрипт (для Oracle экспорта), в Crontab jsheehan223 Shell программирование и сценарии 1 10-16-2008 04:29 PM
Облицовка проблема в ОС Solaris, в Crontab оболочку для запуска скрипта mabrar Shell программирование и сценарии 2 11-02-2007 06:32 AM
Команда не работает в скрипте Трус Shell программирование и сценарии 2 05-21-2007 06:08 PM
Запуск нескольких RSH команды в сценарии lweegp Shell программирование и сценарии 0 10-31-2006 02:37 AM

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 07-02-2009
mystition mystition is offline
Зарегистрированный пользователь
  
 

Регистрация: Май 2009
Сообщений: 2
А команды в сценарии не работает в Crontab.

Привет,

Я сделал этот скрипт для Unix TRU 5.1 OS основан узла.
Когда сценарий был запущен вручную, все команды были запущены правильно. Но когда он был запущен с Crontab, одна команда не выполняется.

Эта команда не работает, когда скрипт работает с Crontab:
# / Usr/mg2/svi/svicom/svistatjo.x J-20090702-F stat_log_temp
(Это применение основано команда используется TI получить некоторые статистические данные о том, что применение в зависимости от даты)

Я использую / бен / KSH корпуса в script.The Crontab Я использую для корневого пользователя, а также команда запуска суперпользователю

[Ниже фиксирует, что я пытался до сих пор, но она не сделала никакой пользы:

Решение 1:
Я пытался найти в каталоге, из которого команда исполнителей по следующим образом:
# CD / usr/mg2/svi/svicom
# Который svistatjo.x
Результат: / usr/mg2/svi/svicom/svistatjo.x
Если команда ', который svistatjo.x' выполнен из какого-либо другого пути, нет ouput получается.
Именно по этой причине команда я дал выше, была с полным путем.

Решение 2:
Я использовал эту команду путь в скрипте, но это еще не runnng через Crontab.
# Су-С "svistatjo.x J-20090702-F stat_log_temp"

Также, когда я запуска сценария из Crontab, ошибки приходит на почту, что-то вроде:
"stty: tcgetattr: не одна пишущая машинка
stty: tcgetattr: не одна пишущая машинка
Не терминала
Неоднозначно перенаправление вывода. ", Но я не уверен, насколько эта ошибка связана с командой.]

Просьба предлагать изменения тем, что эта команда может быть запущена с Crontab также.

\ \ Благодаря, в ожидании
Old 07-02-2009
Smiling Dragon's Avatar
Улыбка дракона Smiling Dragon is offline Forum Advisor  
Disorganised пользователя
  
 

Регистрация: Nov 2007
Место проведения: Новая Зеландия
Сообщений: 922
Это выглядит для меня, как вы используете переменную окружения внутри скрипта - CRON не создано каких-либо условий.
Другая возможность заключается в том, что вы не можете быть четко касаясь KSH в #! Путь в верхней части вашего скрипта, CRON выполняет все ш.
Это предупреждение о двусмысленной переориентировать это, пожалуй, суть вопроса, но ваш командной не делать каких-либо перенаправление.

Вы можете попробовать отправить свой Crontab линии, и, возможно, ваш сценарий тоже?
Old 07-02-2009
mystition mystition is offline
Зарегистрированный пользователь
  
 

Регистрация: Май 2009
Сообщений: 2
Smile

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

В Crontab вступления я просто учитывая вступление так:
00 2 * * * / путь / SCRIPT_NAME

Код:
#!/bin/ksh
if cd /usr/Prepaid/Health-check 2>/dev/null;
then
 find /usr/Prepaid/Health-check -name "health_*" -mtime +30 -exec rm "{}" ";" 
else
cd /usr/Prepaid
mkdir Health-check
fi
logd=`date '+%Y%m%d-%H:%M'`
echo "\nAutomated health Check of HP IVR" > /usr/Prepaid/Health-check/health_$logd.log

-----------------------------------------------------------------------------------------------------
echo "\n\n---------------" >> /usr/Prepaid/Health-check/health_$logd.log
echo "SVI Call" >> /usr/Prepaid/Health-check/health_$logd.log
echo "--------------------------------------------------------------------------------" >> /usr/Prepaid/Health-check/health_$logd.log
date=`TZ=aaa00 date +%Y%m%d`
#cd /usr/mg2/svi/svicom >/dev/null 2>&1
/usr/mg2/svi/svicom/svistatjo.x -j $date -f /usr/Prepaid/log_$date.log >/dev/null 2>&1
cd /usr/Prepaid
echo "Type    Inter   Access  Appli   Called  Calling Diag    CnxT    CnxD    Node" >tempmmtstatjo
tail -5 log_$date.log >> tempmmtstatjo 
st=`wc -l tempmmtstatjo | awk '{print $1}'`
if [ $st -gt 2 ]
then
echo "The following is list of upto last five calls: " >> /usr/Prepaid/Health-check/health_$logd.log
cat tempmmtstatjo >> /usr/Prepaid/Health-check/health_$logd.log
tail -1 tempmmtstatjo > tempmmtstatjo1
awk '{print $8}' tempmmtstatjo1 > tempmmtstatjo2
hourc=`awk -F"H" '{print $1}' tempmmtstatjo2`
minc=`awk -F"H" '{print $2}' tempmmtstatjo2`
let timec=$hourc*60+$minc
hourn=`date '+%H'`
minn=`date '+%M'`
let timen=$hourn*60+$minn
let gapt=$timen-$timec
let gaph=`expr $gapt / 60`
let gapm=`expr $gapt % 60`
 if [ $gapt -gt 10 ] && [ $gapt -le 30 ]
 then
 echo "\nMajor Warning: There were no call records in the last $gapt minutes" >> /usr/Prepaid/Health-check/health_$logd.log
 elif [ $gapm -gt 30 ] || [ $gaph -gt 0 ] || [ $gapt -gt 30 ]
 then
 echo "\nCritical Warning: There were no call records in the last $gaph hours $gapm minutes" >> /usr/Prepaid/Health-check/health_$logd.log
 else
 echo "\nThe last call record is of $gapm minutes ago" >> /usr/Prepaid/Health-check/health_$logd.log
 fi
else
echo "Critical Warning:There were no call records found on the server for today. Please check." >> /usr/Prepaid/Health-check/health_$logd.log
fi
rm tempmmtstatjo
rm tempmmtstatjo1
rm tempmmtstatjo2
rm log_$date.log

#---------------------------------------------------------------------------------------
cat /usr/Prepaid/Health-check/health_$logd.log > /usr/Prepaid/Health-check/health-check.log
#---------------------------------------------------------------------------------------


---------- Пост обновлен в 01:29 PM ---------- Предыдущее обновление было в 11:38 AM ----------

Выпуск решена!

Добавлена эту строку в скрипте после определения корпуса путь:

. $ (HOME) /. Профиль


/ /

Последний раз редактировалось mystition; на 07-02-2009 05:49 AM..
Reply

Закладки

Теги
команда не работает с Crontab, svistatjo.x

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 07:34 PM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0