unusual problem with cp command


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers unusual problem with cp command
# 8  
Old 08-23-2012
Some suggestions for a rework of the script:

1. Stay away from the backticks! Instead of date2=`date +%Y%m%d` use date2="$(date +%Y%m%d)"

2. Use shell means wherever possible, it is way faster:
Code:
First_FNAME=`echo $FNAME |cut -d'.' -f1`

the same in shell code:
Code:
First_FNAME="${FNAME%%.*}"

3. Unnecessary variables: you don't need "$date1" simply write:
Code:
echo "ZIP FILE TIMESTAMP: $(date +%Y%m%d_%H%M%S) " >> $LOG_FILE_PATH

4. Why do you run the script every two minutes? Wouldn't it be easier to run it permanently (as a daemon)?

Code:
#! /bin/sh

while : ; do
     if [ -f /one/two/three/four/MUM_NG2_*.cdr ] ; then
          ... rest of your file processing here ...
     else
          sleep 60
     fi
done

This will process all the files there are, wait 60 seconds if there are none and then check again, etc..

I hope this helps.

bakunin
This User Gave Thanks to bakunin For This Post:
# 9  
Old 08-24-2012
Thanks everyone. I incorporated suggestions made by bakunin, methyl and macnamare and added below if condition inside for loop. Its working fine in my test script and I believe this should fix the problem.

Code:
if [[ -f `find "$FNAME" -mmin +1` ]] ; then 
gzip...
...
cp..
...
mv..
...
fi

I wish to know whether find command above is fine or it should be modified.
# 10  
Old 08-24-2012
The script idea in post #9 will fail if no files are found.

If we take the original script from post #1, we can build the condition in.

Something like this (untested):
This assumes that there are no subdirectories under "/one/two/three/four". If there are subdirectories, the find will need a -maxdepth parameter to stop it descending the tree.
I've also added/moved a lot of double quote characters and delimited all Environment Variables with curly brackets (always good practice).
Also changed the for loop to a [icode]while[icode] loop because for loops are prone to failure.

Code:
#!/bin/sh
date2="`date +%Y%m%d`"
hstname="`hostname`"
LOG_FNAME="Med_Gzip_${date2}_${hstname}.txt"
LOG_FILE_PATH="/one/two/three/ZIP_CDR_SCRIPT/${LOG_FNAME}"
find "/one/two/three/four" -type f -mmin +1 -name "MUM_NG2_*.cdr" | while  read FNAME
do
   gzip "${FNAME}"
   echo "Zipped File name : ${FNAME}" >> "${LOG_FILE_PATH}"
   cp -p "${FNAME}.gz" "/one/two/three/five/"
   First_FNAME=`echo "${FNAME}" |cut -d'.' -f1`
   Archive_FNAME="${First_FNAME}_Archived.cdr.gz"
   mv "${FNAME}.gz" "${Archive_FNAME}"
   mv "${Archive_FNAME}" "/one/two/three/five_archive"
   date1="`date +%Y%m%d_%H%M%S`"
   echo "ZIP FILE TIMESTAMP: $date1 " >> $LOG_FILE_PATH
   echo "********************" >> $LOG_FILE_PATH
done

 
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. HP-UX

Unusual Behavior?

Our comp-operator has come across a peculiar ‘feature'. We have this directory where we save all the reports that were generated for a particular department for only one calendar year. Currently there are 45,869 files. When the operator tried to backup that drive it started to print a flie-listing... (3 Replies)
Discussion started by: vslewis
3 Replies

2. Shell Programming and Scripting

Unusual Problem

what is wrong with the below script: --------------------------------------------------------------------------------- #!/bin/bash echo "Setting JrePath..." grep -w "export JrePath" /etc/profile Export_Status=$? if echo "JrePath declared" elif echo "JrePath not declared" echo... (4 Replies)
Discussion started by: proactiveaditya
4 Replies

3. UNIX for Advanced & Expert Users

Unusual NFS mount problem on only ONE client: Red Hat WS Rel 3

This is an unusual situation where I have an NFS server currently serving out MULTIPLE clients over several variants of Linux and UNIX successfully (world permissions) except for a SINGLE client. Even the other Linux (SuSE) clients in the same room are mounting successfully with defaults without... (6 Replies)
Discussion started by: neelpert1
6 Replies

4. Programming

C Calender Help - Unusual error

I'm making a program that you input the month and year, and it creates a calender for that month of that year. This is my largest project yet, and I broke it up into several source files. cal.c #include "cal.h" #include <stdio.h> main() { int month, year; scanf("%d %d", &month,... (3 Replies)
Discussion started by: Octal
3 Replies

5. Shell Programming and Scripting

very unusual question about while

is there anyway to make while run a command faster than per second? timed=60 while do command sleep 1 done i need something that can run a script for me more than one time in one second. can someone help me out here? (3 Replies)
Discussion started by: Terrible
3 Replies

6. Solaris

pleaseee help with unusual crontab problem

Helllo folks... I tryed to edit crontab and I have this problem when I do crontab -l it shows my crontab correctly and if I do crontab -e I get this. baafh-99.03# baafh-99.03# crontab -e 1063 ? ? ? ? ? and that is all ...:( I have to type "q" and hit enter and I am back... (4 Replies)
Discussion started by: amon
4 Replies

7. Programming

unusual function refrences

I'm wrting a program which needs to get the following information of a sever by calling some lib fuctions or system calls, so can anybody help to tell me those function names or where I can find the description of them ? CPU usage Memory usage Load procs per min Swap usage Page I/O ... (11 Replies)
Discussion started by: xbjxbj
11 Replies

8. UNIX for Advanced & Expert Users

unusual function refrences

I'm wrting a program which needs to get the following information of a sever by calling some lib fuctions or system calls, so can anybody help to tell me those function names or where I can find the description of them ? CPU usage Memory usage Load procs per min Swap usage Page I/O Net I/O... (1 Reply)
Discussion started by: xbjxbj
1 Replies

9. UNIX for Dummies Questions & Answers

somewhat unusual top output problem

i'm a relative newbie to unix (i'm on OSX) and i have a specific problem i'm tripped up on: i'm piping the output of top (in log format) into an awk command which formats the information (and eventually will send it out continuously via udp/osc to another app). my problem is with what comes up... (4 Replies)
Discussion started by: ohhmyhead
4 Replies
Login or Register to Ask a Question