Hi,
i want to zip the files that generates automatically
every few minutes (files generated are in .arc
extension)....any body write a script for this...
thanks in advance

Answers were Sorted based on User's Feedback



Hi, i want to zip the files that generates automatically every few minutes (files generated are..

Answer / srinivas

Assuming the *.arc files are getting generated under every
5 minutes..

Create script.sh and cut paste the following contents
--------------------------
while true
do
for i in `ls *.arc` ;
do
ls *.arc 2> /dev/null
if [ $? -eq 0 ]
then
gzip $i
else
echo "No files to be zipped at this moment...Exiting"
exit 1
done
sleep 300
done
--------------------------

Hope this helps

-- Srini

Is This Answer Correct ?    2 Yes 0 No

Hi, i want to zip the files that generates automatically every few minutes (files generated are..

Answer / vipul dalwala

while true
do
find . -name *.arc -exec gzip {} \;
sleep 300
done

Is This Answer Correct ?    2 Yes 0 No

Hi, i want to zip the files that generates automatically every few minutes (files generated are..

Answer / vipul dalwala

while true
do
THIRDFILE=`ls -t | sed -n '3p'`
find . -name '*.arc' ! -newer ${THIRDFILE} -exec gzip {}
\;
sleep 300
done

Is This Answer Correct ?    1 Yes 0 No

Hi, i want to zip the files that generates automatically every few minutes (files generated are..

Answer / sandeep

Mr srinivas , i want last 2 files not to be zipped, rest
files should be zipped...

Is This Answer Correct ?    0 Yes 1 No

Hi, i want to zip the files that generates automatically every few minutes (files generated are..

Answer / narendrasairam

One way is to keep the code snippet in while loop with a
sleep time of 300 seconds (expecting 5 minutes time gap)


while true
do
FILE_EXIST_CHECK=`ls -l | grep ^- | wc -l`
if [ $FILE_EXIST_CHECK -ne 0 ];
then
if [ -f *.arc ];
then
ls *.arc > arc_files.lst
while read arc_filename
do
/usr/local/bin/gzip $arc_filename > /dev/null 2>&1
done < arc_files.lst
fi
else
echo " There are no .arc files existing...."
fi
sleep 300;
done

The other way is to schedule the job using crontab with a
time slice of minutes with out keeping in while true loop.

Is This Answer Correct ?    0 Yes 1 No

Post New Answer

More Shell Script Interview Questions

What is meant by dos operating system?

0 Answers  


What is inside a seashell?

0 Answers  


Explain about the exit command?

0 Answers  


What is the use of "$?" Sign in shell script?

0 Answers  


What language is shell scripting?

0 Answers  






What is bash shell command?

0 Answers  


What are the different commands available to check the disk usage?

0 Answers  


How do I start a shell script?

0 Answers  


There are three departments A,B and C.Write a query to display the names of all the persons( in departments other than A) who are paid higher than the person receiving the lowest salary in DEPT A

1 Answers   Wipro,


How will you print the login names of all users on a system?

0 Answers  


What does echo mean in scripting?

0 Answers  


What shell is bin sh?

0 Answers  


Categories