1,105,263 Community Members

Scp Script?

Member Avatar
manujkathuria
Newbie Poster
3 posts since Oct 2012
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

Hi,
I would like to write a script to scp files from 1 server to other but the problem is if scp fails maybe because of server crash or somthing like that, i would like to start scp from the last file. i dont want to copy all the files again. Any ideas?

Thanks
Manuj

Member Avatar
Watael
Junior Poster
134 posts since Apr 2012
Reputation Points: 4 [?]
Q&As Helped to Solve: 27 [?]
Skill Endorsements: 2 [?]
 
0
 

hi,

it depends on how you intend to scp files
if you scp them all at one time, a bit like you'd copy recusrsively directories, AFAIK you can't tell.
if you copy file on at a time, using a loop, you could echo filenames to a log file when scp fails
something like this, but it's much longer

for file in ./*
do
   scp "$file" user@server || echo "$file" >>logfile
done

more or less.

Member Avatar
L7Sqr
Veteran Poster
1,006 posts since Feb 2011
Reputation Points: 179 [?]
Q&As Helped to Solve: 168 [?]
Skill Endorsements: 11 [?]
 
0
 

You could start by issuing a directory listing of the files you'd like to copy

ssh user@server "ls -l"

Using that list you can evaluate how many files have been copied (by checking against your local listing) and only request the ones you do not have.

N.B. This will not consider the case where files on the remote server change after they are copied by the client.

Member Avatar
L7Sqr
Veteran Poster
1,006 posts since Feb 2011
Reputation Points: 179 [?]
Q&As Helped to Solve: 168 [?]
Skill Endorsements: 11 [?]
 
0
 

On second thought, why not just use rsync

You
This article has been dead for over three months: Start a new discussion instead
Post:
Start New Discussion
Tags Related to this Article