![]() |
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here. |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| cp can not access | HIEUNK | Shell Programming and Scripting | 5 | 04-26-2008 11:46 AM |
| ssh access | mm00123 | SUN Solaris | 8 | 08-30-2007 05:12 AM |
| How to access CD | sam71 | UNIX for Dummies Questions & Answers | 2 | 07-20-2005 03:53 PM |
| cp: cannot access | nguda | Shell Programming and Scripting | 4 | 11-07-2003 05:52 PM |
| Need help to access/mount so to access folder/files on a Remote System using Linux OS | S.Vishwanath | UNIX for Dummies Questions & Answers | 2 | 07-30-2001 09:17 AM |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
||||
|
gurus have a look at the following script
#! /usr/bin/ksh # New order processing script/abhijeet/28-02-2006 # there are two 'for' loops for 'prepaid' & 'postpaid' respectively # whats new: xmls will NOT traverse sequentially but will be copied to # respective systems parallely. source=/u02/CFS echo "" > $source/Log/ox1 echo "" > $source/Log/ox2 echo "" > $source/Log/ox3 echo "" > $source/Log/ox4 echo "" > $source/Log/name1 echo "" > $source/Log/name2 ls $source/home/selectica/Outbox > $source/Log/ox1 grep "New_Ordr_" $source/Log/ox1 > $source/Log/ox2 grep "_PREPAID.xml" $source/Log/ox2 > $source/Log/ox1 # 'PREPAID' loop starts here..file to be copied only to CRM & OMS. for file1 in `grep "New_Ordr_" $source/Log/ox1` do listfile="Order_PREPAID_`date +%d%m%Y`.lst" echo $file1 >> $source/Log/$listfile logfile="Order_PREPAID_`date +%d%m%Y`.log" echo "##################################################################################" >> $source/Log/$logfile echo "DATE........SYSTEM......STATUS.....FILE NAME.........TIME" >> $source/Log/$logfile echo $file1 > $source/Log/name1 file2=`cut -b 5- $source/Log/name1` sys1=SELECTICA stat1=RECEIVED echo "`date +%D`...$sys1....$stat1....$file1....`date +%T`" >> $source/Log/$logfile sleep 2 echo "`date +%D`...IT IS A PREPAID ORDER...`date +%T`" >> $source/Log/$logfile sys2=CLARIFY stat2=COPIED mstat2=RENAMED cp $source/home/selectica/Outbox/$file1 $source/home/clarify/Inbox/$file1 echo "`date +%D`....$sys2....$stat2....$file1....`date +%T`" >> $source/Log/$logfile mv $source/home/clarify/Inbox/$file1 $source/home/clarify/Inbox/$file2 chmod 666 $source/home/clarify/Inbox/$file2 echo "`date +%D`....$sys2....$mstat2...$file2...`date +%T`" >> $source/Log/$logfile sleep 2 #mv $source/home/clarify/Inbox/$file2 $source/home/clarify/PArchive/$file2 #mv $source/home/clarify/Archive/$file2 $source/home/clarify/PArchive/$file2 # file is being copied to CRM..now moving to OMS. sys3=OMS stat3=COPIED mstat3=RENAMED cp $source/home/selectica/Outbox/$file1 $source/home/oms/Inbox/$file1 echo "`date +%D`...$sys3....$stat3...$file1...`date +%T`" >> $source/Log/$logfile mv $source/home/oms/Inbox/$file1 $source/home/oms/Inbox/$file2 chmod 666 $source/home/oms/Inbox/$file2 echo "`date +%D`...$sys3....$mstat3....$file2...`date +%T`" >> $source/Log/$logfile sleep 2 #mv $source/home/oms/Inbox/$file2 $source/home/oms/Archive/$file2 # file is being copied to OMS...'PREPAID' loop ends here. stat0=ARCHIVED mv $source/home/selectica/Outbox/$file1 $source/home/selectica/Archive/$file2 echo "`date +%D`...$sys1...$stat0...$file1...`date +%T`" >> $source/Log/$logfile done # 'POSTPAID' loop starts here ls $source/home/selectica/Outbox > $source/Log/ox3 grep "New_Ordr_" $source/Log/ox3 > $source/Log/ox4 grep "_POSTPAID.xml" $source/Log/ox4 > $source/Log/ox3 for file3 in `grep "New_Ordr_" $source/Log/ox3` do listfile="Order_POSTPAID_`date +%d%m%Y`.lst" echo $file3 >> $source/Log/$listfile logfile="Order_POSTPAID_`date +%d%m%Y`.log" echo "################################################################################" echo "DATE....SYSTEM...STATUS.....FILE...........TIME " >> $source/Log/$logfile echo $file3 > $source/Log/name2 file4=`cut -b 5- $source/Log/name2` sys4=SELECTICA stat4=RECEIVED echo "`date +%D`...$sys4...$stat4...$file3...`date +%T`" >> $source/Log/$logfile sleep 2 echo "`date +%D`....IT IS A POSTPAID ORDER.........." >> $source/Log/$logfile sys5=ADC stat5=RECEIVED mstat5=RENAMED cp $source/home/selectica/Outbox/$file3 $source/home/adc/Inbox/$file3 echo "`date +%D`...$sys5...$stat5...$file3....`date +%T`" >> $source/Log/$logfile mv $source/home/adc/Inbox/$file3 $source/home/adc/Inbox/$file4 chmod 666 $source/home/adc/Inbox/$file4 echo "`date +%D`...$sys5...$mstat5...$file4...`date +%T`" >> $source/Log/$logfile #mv $source/home/adc/Archive/$file4 $source/home/adc/PArchive/$file4 sleep 20 #chmod 666 $source/home/adc/Archive/$file4 sys6=CLARIFY stat6=COPIED #mstat6=RENAMED cp $source/home/adc/Archive/$file4 $source/home/clarify/Inbox/$file4 #echo "`date +%D`...$sys6...$stat6...$file3...`date +%T`" >> $source/Log/$logfile #mv $source/home/clarify/Inbox/$file3 $source/home/clarify/Inbox/$file4 #chmod 666 $source/home/clarify/Inbox/$file4 echo "`date +%D`...$sys6...$stat6...$file4....`date +%T`" >> $source/Log/$logfile #mv $source/home/clarify/Archive/$file4 $source/home/clarify/PArchive/$file4 sleep 2 sys7=OMS stat7=COPIED #mstat7=RENAMED cp $source/home/adc/Archive/$file4 $source/home/oms/Inbox/$file4 #echo "`date +%D`...$sys7...$stat7...$file3....`date +%T`" >> $source/Log/$logfile #mv $source/home/oms/Inbox/$file3 $source/home/oms/Inbox/$file4 #chmod 666 $source/home/oms/Inbox/$file4 echo "`date +%D`...$sys7...$stat7...$file4....`date +%T`" >> $source/Log/$logfile #mv $source/home/oms/Inbox/$file4 $source/home/oms/Archive/$file4 sleep 2 stat8=ARCHIVED mv $source/home/selectica/Outbox/$file3 $source/home/selectica/Archive/$file4 echo "`date +%D`...$sys4...$stat8....$file3....`date +%T`" >> $source/Log/$logfile done ----------------------------------------------------- i am getting following errors continously: cp: cannot access /u02/CFS/home/adc/Archive/Ordr_100000063121_120406141037_01_POSTPAID.xml cp: cannot access /u02/CFS/home/adc/Archive/Ordr_100000063121_120406141037_01_POSTPAID.xml why am i getting these errors? Is it a permissions issue? if i copy manually ,it will work...but not by script... one more thing..... First order reaches ADC & it is then parsed by the xml parser & then it is put into "Archive" folder of ADC by the parser. Parsing may take time depending upon the data in the order xml.... could that be the issue? thanks & regards abhijeet |
|
||||
|
First of all your script isn't written very well.
Where is the error checking at? Error checking will save you a trip to this forum for answers. Trust me. Example from your script... Add this at the top. ################## function if_error ################## { if [[ $? -ne 0 ]]; then # check return code passed to function print "$1" | tee -a $MYLOG # if rc > 0 then print error msg and quit exit $? fi } cp $source/home/selectica/Outbox/$file1 $source/home/oms/Inbox/$file1 if_error "Oh crap. My copy of $source/home/selectica/Outbox/$file1 failed" echo "`date +%D`...$sys3....$stat3...$file1...`date +%T`" >> $source/Log/$logfile mv $source/home/oms/Inbox/$file1 $source/home/oms/Inbox/$file2 if_error "Oh Damn. My moved of $source/home/oms/Inbox/$file1 failed" chmod 666 $source/home/oms/Inbox/$file2 if_error "Oh poop. My chmod of $source/home/oms/Inbox/$file2 failed" echo "`date +%D`...$sys3....$mstat3....$file2...`date +%T`" >> $source/Log/$logfile sleep 2 Last edited by x96riley3; 04-13-2006 at 12:28 PM.. |
|
||||
|
i have modified my script
can anyone throw light on this...pls??? # 'POSTPAID' loop starts here ls $source/home/selectica/Outbox > $source/Log/ox3 grep "New_Ordr_" $source/Log/ox3 > $source/Log/ox4 grep "_POSTPAID.xml" $source/Log/ox4 > $source/Log/ox3 for file3 in `grep "New_Ordr_" $source/Log/ox3` do listfile="Order_POSTPAID_`date +%d%m%Y`.lst" echo $file3 >> $source/Log/$listfile logfile="Order_POSTPAID_`date +%d%m%Y`.log" echo "################################################################################" echo "DATE....SYSTEM...STATUS.....FILE...........TIME " >> $source/Log/$logfile echo $file3 > $source/Log/name2 file4=`cut -b 5- $source/Log/name2` sys4=SELECTICA stat4=RECEIVED echo "`date +%D`...$sys4...$stat4...$file3...`date +%T`" >> $source/Log/$logfile sleep 2 echo "`date +%D`....IT IS A POSTPAID ORDER.........." >> $source/Log/$logfile sys5=ADC stat5=RECEIVED mstat5=RENAMED cp $source/home/selectica/Outbox/$file3 $source/home/adc/Inbox/$file3 echo "`date +%D`...$sys5...$stat5...$file3....`date +%T`" >> $source/Log/$logfile mv $source/home/adc/Inbox/$file3 $source/home/adc/Inbox/$file4 chmod 666 $source/home/adc/Inbox/$file4 echo "`date +%D`...$sys5...$mstat5...$file4...`date +%T`" >> $source/Log/$logfile done sleep 5 # New addition starts /13042006 ls $source/home/adc/Archive > $source/Log>ox5 grep "Ordr_10" $source/Log/ox5 > $source/Log/ox6 grep "_POSTPAID.xml" $source/Log/ox6 > $source/Log/ox5 for file5 in `grep "Ordr_10" $source/Log/ox5 do sys6=CLARIFY stat6=COPIED mstat6=RENAMED sys7=OMS stat7=COPIED mstat7=RENAMED mv $source/home/adc/Archive/$file5 $source/home/adc/Archive/New_$file5 file6=`ls $source/home/adc/Archive |grep "New_"|grep -v grep` #clarify copy cp $source/home/adc/Archive/$file6 $source/home/clarify/Inbox/$file6 echo "`date +%D`...$sys6...$stat6...$file6....`date +%T`" >> $source/Log/$logfile mv $source/home/clarify/Inbox/$file6 $source/home/clarify/Inbox/$file5 echo "`date +%D`...$sys6...$mstat6...$file5....`date +%T`" >> $source/Log/$logfile chmod 666 $source/home/clarify/Inbox/$file5 # oms copy cp $source/home/adc/Archive/$file6 $source/home/oms/Inbox/$file6 echo "`date +%D`...$sys7...$stat7...$file6....`date +%T`" >> $source/Log/$logfile mv $source/home/oms/Inbox/$file6 $source/home/clarify/Inbox/$file5 echo "`date +%D`...$sys7...$mstat7...$file5....`date +%T`" >> $source/Log/$logfile chmod 666 $source/home/clarify/Inbox/$file5 mv $source/home/adc/Archive/$file6 $source/home/adc/PArchive/$file5 done # New addition ends /13042006sleep 2 stat8=ARCHIVED mv $source/home/selectica/Outbox/$file3 $source/home/selectica/Archive/$file4 echo "`date +%D`...$sys4...$stat8....$file3....`date +%T`" >> $source/Log/$logfile done |
|
||||
|
Where is your error checking? You still don't have any?
What's wrong with you? There is not one ounce of error checking in that code you're calling a script. Sorry to be rude but if you would listen to me and put some damn error checking in your script you wouldn't be here. -X |
|
||||
|
First of all
sorry for writing that last scrap...it was badly written. secondly i have never used "functions" in shell scripts so i am not trying it. i know where error is coming....but why is it coming...i want to know. As most of you have seen the script(first one) ,i am simply copying & renaming the file(s) across systems. the error says "cp:cannot aceess <file path> " this is what i am trying to dig.... most intrestingly,this error comes randomly..not for every transfer.... this is the most confusing part of it... regards abhijeet |
|
||||
|
sudo ls -l /u02/CFS/home/adc/Archive/Ordr_100000063121_120406141037_01_POSTPAID.xml
sudo ls -ld /u02/CFS/home/adc/Archive /u02/CFS/home/adc /u02/CFS/home /u02/CFS /u02 check the permission of failed file and the file path! |
|
|||||
|
Quote:
Thanks ZB |
![]() |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|