Visit Our UNIX and Linux User Community


Copying latest file into a folder


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Copying latest file into a folder
# 1  
Old 03-19-2009
Copying latest file into a folder

Hello all, this is my first post while i am trying to understand unix.
I would basically like to know if i can do this:
Lets say i have a folderA and folderB
And i save something in folderA

Can i make a script that checks folderA latest file, then compares it with the date of latest file in folder B
If the file in folderA is newer that the last file in folderB then copy it on FolderB rename it to something.
Repeat this infinitely Smilie

So even if i delete the contents of folderA i will have a backup of all files in folderB

I am not sure how to proceed or if that is possible.
Thanks in advance for any info!
# 2  
Old 03-20-2009
i can suggest you to go through the man pages of commands like
test
find

using test command you can test for newer file and find will help you to locate the file in folders then you can use cp or mv according to your req.
# 3  
Old 03-21-2009
Quote:
Originally Posted by vidyadhar85
i can suggest you to go through the man pages of commands like
test
find

using test command you can test for newer file and find will help you to locate the file in folders then you can use cp or mv according to your req.
thanks for your answer!
I am going to look into it and letu know more questions! Smilie
# 4  
Old 03-21-2009
$ ls -tr folderA | tail -1
Will give you the newest file.

So you could use:
Code:
LATEST=`ls -tr folderA | tail -1`
cp "folderA/${LATEST}" "folderB/${LATEST}".$$

Put the above in a script and call it from cron (if running once per minute is enough?) and $$ will be a different PID each time the script runs.

Or use a script something like, if the newest file in FolderA is going to change names each time:
Code:
PREVLATEST=""
while [ 1 ]; do
LATEST=`ls -tr folderA | tail -1`
if [ "${LATEST}" != "${PREVLATEST}" ]; then
  cp "folderA/${LATEST}" "folderB/${LATEST}"
  PREVLATEST="${LATEST}"
done

Call the script thus: nohup ./scriptname & and it would just keep running (you might want to put a sleep in their somewhere!

HTH

Tony

Last edited by TonyFullerMalv; 03-21-2009 at 06:08 PM..
# 5  
Old 03-21-2009
Tony thanks so much i will give it a try!!!!!
# 6  
Old 03-26-2009
hello there, i tried it and it doesnt work Smilie
I tried to code below:

Code:
PREVLATEST=""
while [ 1 ]; do
LATEST=`ls -tr /var/Folder1/ | tail -1`
if [ "${LATEST}" != "${PREVLATEST}" ]; then
  cp "/var/Folder1/${LATEST}" "/var/Folder2/${LATEST}"
  PREVLATEST="${LATEST}"
done

I save this on a file.sh then i run it at the startup as a daemon.

Seems like nothing is happening.
any directions?
# 7  
Old 03-26-2009
Put a set -x at the top of the script and run it in a terminal window to see what it is doing, a sleep of some period just before the done might be advisable (say 3 seconds?)

If the set -x spits out too much on the screen then put:
Code:
echo PREVLATEST = ${PREVLATEST} LATEST = ${LATEST}

before the if line and put:
Code:
echo cp "/var/Folder1/${LATEST}" "/var/Folder2/${LATEST}"

before the actual copy line instead of using set -x.

To run it as a daemon from within a terminal window you can do:
Code:
# nohup ./script.sh &


Previous Thread | Next Thread
Test Your Knowledge in Computers #532
Difficulty: Medium
UTF-8 uses a fixed number of bytes to encode characters.
True or False?

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Retrieve the Latest file in a folder using SFTP

HI Guys, Can anyone help me to retrieve the latest file from below example using SFTP I have below list of files in a folder v403t.lstprgms.sortin1 val027.d099.fwest.oct2711 xcelrptd.d1400sqp.dec1713.t040459.@02del xcelrptd.d1400sqp.dec1713.t073308.@02del... (3 Replies)
Discussion started by: heye18
3 Replies

2. UNIX for Dummies Questions & Answers

Copying a file based on a incremented folder name

I need to routinely cp a file out of the highest incremented folder named PROD_2_6.1_xxx where xxx (3 numerical values) is incremented only once a night starting at 100 and ending 999 over a period of time. I am not worried about copying a subset of a complete file while it is being created by some... (5 Replies)
Discussion started by: sf_cb
5 Replies

3. Shell Programming and Scripting

Perl : copying only the latest file to other directory

In linux.. In a directory there are 3 files which I want to copy only the latest file (ls -ltr myfiles*.txt|tail -1) to other directory in perl? Could anyone please help me with the code? Regards, J (1 Reply)
Discussion started by: scriptscript
1 Replies

4. UNIX and Linux Applications

Need to copy the latest file from Unix server to Shared folder

Hi All, One job in unix server will generate .csv files daily. I need to copy the latest of these .csv file from the unix server to the shared drive/folder in windows through unix script. My shared folder will look something like W:\some folder(for example). Could any one of you please help... (3 Replies)
Discussion started by: jaya@123
3 Replies

5. UNIX for Dummies Questions & Answers

Copy the latest (last file) in given folder

#!/bin/bash for i in {1..1536..1} do #find /home/test/Desktop/up111/workplace/Malware/$i/logs for a in /home/test/Desktop/up111/workplace/Malware/$i/logs/* do #max=a for b in /home/test/Desktop/up111/workplace/Malware/$i/logs/* do ... (4 Replies)
Discussion started by: upvan111
4 Replies

6. Shell Programming and Scripting

script for Finding files in a folder and copying to another folder

Hi all, I have a folder '/samplefolder' in which i have some files like data0.txt, data1.txt and data2.txt. I have to search the folder for existence of the file data0.txt first and if found have to copy it to some other file; next i have to search the folder for existence of file... (5 Replies)
Discussion started by: satish2712
5 Replies

7. Shell Programming and Scripting

copying the latest file

Hi, I have a problem. I have some text files in a folder. The names can be like: emp_20080307053015.dat emp_20080306053015.dat emp_20080305053015.dat emp_20080304053015.dat The date format appended is like yyyymmdd and timestamp. What i need is i have to copy the latest file every... (12 Replies)
Discussion started by: Aswarth
12 Replies

8. UNIX for Dummies Questions & Answers

Copy the latest file from a folder

Hi, I have a problem. I have some text files in a folder. The names can be like: emp_20080307053015.dat emp_20080306053015.dat emp_20080305053015.dat emp_20080304053015.dat The date format appended is like yyyymmdd and timestamp. What i need is i have to copy the latest file every... (3 Replies)
Discussion started by: Aswarth
3 Replies

9. UNIX for Dummies Questions & Answers

Copying files with the latest date

Hi All, I have a situation where I need to copy the files having the latest date. For example I have a file by name bas100e1_jun05. I need to copy it to bas100e1. But when a file by name bas100e1_jul05 is put in the same directory the script should copy the file having the latest month which... (34 Replies)
Discussion started by: shashi_kiran_v
34 Replies

Featured Tech Videos