Visit Our UNIX and Linux User Community


Help with ksh script to list files, cp it to another UNIX server


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Help with ksh script to list files, cp it to another UNIX server
# 1  
Old 12-22-2012
Help with ksh script to list files, cp it to another UNIX server

Hi,

I'm quite new to ksh scripting, can someone help me with this.

Requirements:

I need to create a script that list the files from a user input date range.
e. g. format of file:

*c1*log.2012-12-22-14-00*
*c1*log.2012-12-22-14-00*
*c1*log.2012-12-22-14-00*
*c1*log.2012-12-22-14-00*
*c1*log.2012-12-22-14-00*
*c1*log.2012-12-22-14-00*
*c1*log.2012-12-22-15-00*


, then copy the files to another server through ssh or sftp.

1. user input the date range of files to search
2. Search the files in live_dir and archive_dir
; inside the archive , are subdirectories in format of
2012-Dec-18
2012-Dec-19
2012-Dec-20
2012-Dec-21
2012-Dec-22
3. Once files are found, copy the files to another unix server through ssh or sftp


Thanks in advance

Choco

Last edited by chococrunch6; 12-22-2012 at 11:46 PM..
# 2  
Old 12-23-2012
If you have ssh-keys setup done for password-less login, then you can create a SFTP batch file and perform file transfer:-
Code:
#!/bin/ksh

input_date=$1                                           # Accepting input date range.

find . -name "*${input_date}*" -type f | awk ' { sub(/^\.\//,"",$0); print "put " $0; } ' > sftp_batch.cntrl

sftp -b sftp_batch.cntrl ${user}@${hostname}            # Transfer files to destination using SFTP batch file.


Last edited by Yoda; 12-23-2012 at 12:48 AM.. Reason: replaced func
# 3  
Old 12-23-2012
Hi bipinajith,

Thanks for your response,

actually i used the commands below to do the transfer:

/usr/bin/scp -q $<dir_source> <id>@<ip address>:$<dir_destination>


im having problem with listing/finding the files. the script will go like this

"please enter start date format yyyy-mm-dd-hh-MM:" read strdate

"please enter end date yyyy-mm-dd-hh-MM:" read enddate

e.g.
strdate will be 2012-12-22-14-00
enddate will be 2012-12-22-23-00

files to be searched have the format:

*c1*log.2012-12-22-14-00*

the script will search two directory paths: dir_live and dir_archive

ssh-key was already set up.

Thanks!

Regards,
Choco
# 4  
Old 12-23-2012
As I mentioned earlier you can use find command to search and list files from specific directories.

If you are stuck at generating the date range between start and end, then have look at this thread which suggest different approaches for performing date arithmetic.

By the way I usually prefer using sftp with batch file for performing file transfer because it is pretty much simple.
# 5  
Old 12-23-2012
thank you!

another newbie question.. what does "$0" for?

Regards,
Choco
# 6  
Old 12-23-2012
Awk's built-in variables include the field variables: $1, $2, $3, and so on and $0 represents the entire record.
# 7  
Old 12-28-2012
i tried your command and it return this error:

command:
find . -name "*c1*2012-12-28*" -type f | awk ' { sub(/^\.\//,"",$0); print "put " $0; } ' > sftp_batch.cntrl

error:
awk: syntax error near line 1
awk: illegal statement near line 1
 

Previous Thread | Next Thread
Test Your Knowledge in Computers #133
Difficulty: Easy
The first prototypes of Linux were publicly released in 1991.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need Help in ksh Script to list files older than 365 days from specified directories

Requirement is to list the files older than 365 days from multiple directories and delete them and log the list of files which are deleted to a log file. so 1 script should only list files older than 365 days for each directory separately to a folder The other script should read these files... (7 Replies)
Discussion started by: prasadn
7 Replies

2. UNIX for Dummies Questions & Answers

UNIX ksh Copy Files Script

I need a UNIX ksh script that counts the number of files in directory, if the files exceed 20 files, then email results. I want the script to run every hour.. I don't have access to cron.. I'm some what new to UNIX. Windows guy all my career.. this is what I have so far.. #!/bin/ksh # count.sh ... (5 Replies)
Discussion started by: PerlHaven2k
5 Replies

3. UNIX for Advanced & Expert Users

Help with ksh script to list, then cp files from a user input date range

Hi, I'm quite new to ksh scripting, can someone help me with this. Requirements: I need to create a script that list the files from a user input date range. e. g. format of file: *c1*log.2012-12-22-14-00* *c1*log.2012-12-22-14-00* *c1*log.2012-12-22-14-00*... (1 Reply)
Discussion started by: chococrunch6
1 Replies

4. Shell Programming and Scripting

KSH fetching files from server A onto server B and putting on server C

Dear Friends, Sorry for this basic request. But I just started learning Ksh recently and still I am a newbie in this field. Q: I have files on one server and the date format is 20121001000009_224625.in which has year (yyyy) month (mm) and date (dd). I have these files on server A. The task... (8 Replies)
Discussion started by: BrownBob
8 Replies

5. Shell Programming and Scripting

Find and delete files and folders which are n days older from one unix server to another unix server

Hi All, Let me know how can i find and delete files from one unix server to another unix server which are 'N' days older. Please note that I need to delete files on remote unix server.So, probably i will need to use sftp, but question is how can i identify files and folders which are 'N'... (2 Replies)
Discussion started by: sachinkl
2 Replies

6. Shell Programming and Scripting

Unix shell script to Copy files from one Windows server to another Windows server.

Can anybody please help me on how to code for the below requirement: I need to write a shell script (on different unix server) to copy files from multiple folders (ex. BRN-000001) from one windows server (\\boldls-mwe-dev4)to a different windows server(\\rrwin-ewhd04.ecomad.int). This shell... (4 Replies)
Discussion started by: SravsJaya
4 Replies

7. Shell Programming and Scripting

script for to take files from FTP server to UNIX server and Unzipped that files

script for to take files from FTP server to UNIX server and Unzipped that files (1 Reply)
Discussion started by: sunilamarnadh
1 Replies

8. Shell Programming and Scripting

shell script to ftp the files from windows to unix server

Hi, I need to ftp some input files from windows to unix server.All the files will be saved in the C drive in my machine. Currently all these files are transferring manually to the unix server.I need to write a shell script which ftp the files from windows to unix box.When I searched in the... (10 Replies)
Discussion started by: kavithakuttyk
10 Replies

9. Shell Programming and Scripting

writing script in UNIX for copying files in two server

can anyone help me in writing script in UNIX for copying files in two server from the third server after checking the files in the third server and if there is anything new in the third server automatically it should be added to the rest of the two servers and if same file is existing in the two... (4 Replies)
Discussion started by: REKHA09
4 Replies

10. UNIX for Advanced & Expert Users

Utility or script for renaming files on UNIX web server

Greetings! Does anyone know of a utility or a script for renaming files on a UNIX web server? I've seen several of these types of renaming utilities for Windows, but none for UNIX. I have 10,000 files that I need to rename in a several tier (deep) web site directory. I have the original... (1 Reply)
Discussion started by: everettr
1 Replies

Featured Tech Videos