The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > UNIX for dummyer Spørgsmål & svar
.
google unix.com



UNIX for dummyer Spørgsmål & svar Hvis du ikke ved, hvor man skal sende en UNIX-eller Linux-spørgsmål, efter det her. Alle UNIX og Linux newbies velkommen!

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Script ikke kører korrekt, når løbe fra crontab simoncjones Shell Programmering og Scripting 2 05-03-2009 03:11 PM
Problemet kører shell script (for oracle eksport) i crontab jsheehan223 Shell Programmering og Scripting 1 10-16-2008 04:29 PM
Facing spørgsmål i Solaris OS i crontab for kørsel shell script mabrar Shell Programmering og Scripting 2 11-02-2007 06:32 AM
Command ikke kører i script Dastard Shell Programmering og Scripting 2 05-21-2007 06:08 PM
kører flere rsh kommandoen i et script lweegp Shell Programmering og Scripting 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 Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 07-02-2009
mystition mystition is offline
Registreret Bruger
  
 

Join Date: May 2009
Stillinger: 2
En kommando i et script ikke kører i crontab.

Hej,

Jeg lavede denne script til TRU Unix 5,1 OS baseret Node.
Når scriptet blev kørt manuelt alle de kommandoer løb ordentligt. Men da det blev kørt fra Crontab, en kommando er ikke kører.

Denne kommando er ikke kører, når scriptet kører fra Crontab:
# / Usr/mg2/svi/svicom/svistatjo.x-j 20090702-f stat_log_temp
(Dette er baseret program kommando bruges ti hente visse statistikker af denne ansøgning afhængig af dato)

Jeg bruger / bin / ksh shell i script.The crontab jeg bruger er for root-bruger, og kommandoen er også drevet af root

[Efter er de rettelser, jeg har prøvet indtil nu, men det har ikke gjort noget godt:

Fix 1:
Jeg forsøgte at finde den mappe, hvorfra kommandoen fuldbyrdende af følgende måde:
# Cd / usr/mg2/svi/svicom
# Som svistatjo.x
Output: / usr/mg2/svi/svicom/svistatjo.x
Hvis kommandoen «, som svistatjo.x ' eksekveres fra en anden vej, ikke ouput er opnået.
Dette er grunden til den kommando jeg gav ovenfor var med den fulde sti.

Fix 2:
Jeg brugte kommandoen på denne måde i scriptet også, men det er stadig ikke runnng via crontab.
# su-c "svistatjo.x-j 20090702-f stat_log_temp"

Også, når jeg kører scriptet fra Crontab, er en fejl kommer i mail, noget i retning af:
"stty: tcgetattr: Ikke en skrivemaskine
stty: tcgetattr: Ikke en skrivemaskine
Ikke en terminal
Tvetydige output redirect. ", Men jeg er ikke sikker på, hvordan fejlen er relateret til kommandoen.]

Please foreslå ændringer, således at denne kommando kan køres fra crontab også.

\ \ Tak i forventning
  #2 (permalink)  
Old 07-02-2009
Smiling Dragon's Avatar
Smilende Dragon Smiling Dragon is offline Forum Advisor  
Uorganiseret Bruger
  
 

Join Date: Nov 2007
Location: New Zealand
Posts: 922
Det ser for mig ud som du bruger en miljøvariabel i dit script - cron er ikke oprettet nogen form for miljøet.
En anden mulighed er, at du ikke kan være eksplicit henvises til ksh i #! sti på toppen af dit script, cron udfører alt i sh.
Denne advarsel af en tvetydig omdirigere er sandsynligvis det virkelige problem, men din commandline er ikke laver nogen omdirigering.

Kan du prøve at sende dine crontab linje, og måske dit script også?
  #3 (permalink)  
Old 07-02-2009
mystition mystition is offline
Registreret Bruger
  
 

Join Date: May 2009
Stillinger: 2
Smile

Tak for det hurtige svar ... her er den del af scriptet (med fed), hvor fejlen opstår.

I crontab indrejse jeg har simpelthen givet post som denne:
00 2 * * * / path / SCRIPT_NAME


Code:
#!/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
#---------------------------------------------------------------------------------------



---------- Post opdateret kl 01:29 ---------- Forrige opdatering var på 11:38 ----------

Issue Solved!

Tilføjet denne linje i scriptet efter definere skallen sti:

. $ (HOME) /. Profil


/ /

Senest redigeret af mystition; 07-02-2009 kl 05:49 AM..
Reply

Bogmærker

Tags
kommando ikke løber fra crontab, svistatjo.x

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 10:45 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0