Hard to explain but we get two sets of files in, and index file and image file. Often the image file arrives way later, so we just run this resubmit.sh script I'm going to show in a second.
Code:
java_dir="/apps/dwd/rip-robinprod/jar"
log_dir="/apps/dwd/logs"
log="$log_dir/resub.`date +"%m%d%y"`.log"
error_dir="/apps/dwd/rip-robinprod/work/"
ERRORFILE=`ls /apps/dwd/rip-robinprod/work/*err|wc -l`
dt=`date '+%d/%m/%Y_%H:%M:%S'`
cd $java_dir
echo $ERRORFILE
if [ $ERRORFILE -gt 0 ]; then
sed -i 's/�/-/g' $error_dir*.rpt
echo "The below files have been resbumitted. " >> $log
echo `ls -ltr $error_dir*err` >>$log
/bin/java -cp "./TIPError.jar:./TIP31.jar:./TIP31msg_en_US.jar" ResubmitErrors -AuxprpawdRobin01 -P20904 >>$log
else
echo "No Error Files Found $dt" >>$log ;\
exit
fi
This basically uses those jar files and tries to reconcile the files, if they don't work the files go back into a directory with the file extensions .err and rpt
Each time they do the resbumit.sh it updates the time stamp. How can we retry like 5 times and then kick out an email that this has been resumitted 5 times please notify vendor?
In the loop, will the .err files be removed on later success? How to tell new errors from old ones during the loop? Will there be leftovers from the last run?
What wait period between loops do you want?
In the following, the index file is placed in the requests directory, and the image file in the temp directory. The index files can have different extensions to indicate grouping or priority.
The pid file is used to prevent subsequent invocations of the cron job from running.
You can periodically examine the contents of the temp and request directories for entries that older than some specified time.
Code:
#!/bin/ksh
cd /u/email
BATCH=$1
proc=$$
if [ -r /u/email/$BATCH.pid ]
then
echo "Previous batch still running" $(cat $BATCH.pid)
exit
fi
echo $proc >/u/email/$BATCH.pid
list=$(ls requests|grep $BATCH)
if [ "$list" != "" ]
then
for request in $list
do
#do processing here
#if successful
mv requests/$request done
mv temp/$request* done
#else
#echo "This one failed"
#fi
done
fi
rm /u/email/$BATCH.pid
echo finished at $(date)
I need to read a file line by line, then depending on the contents of each line, type in a code that will get written to an array.
The problem I have is when I ask the user to confirm the input code, if it is wrong, how do i Return to ask again?
Any thing I try increments the file to the next... (6 Replies)
I am using the following code in a C Shell script to transfer files to a remote server:
ftp -n logxx.xxxx.xxx.xxx.com <<DO_FTP1
quote user $user_name
quote pass $password
ascii
put $js_file_name
bin
put $FinalZipFile
quit
DO_FTP1
This code works great except on those rare occasions... (8 Replies)