[TAG] How do you format ftp or sftp for transfering files?...
Lew Pitcher
lew.pitcher at digitalfreehold.ca
Mon Mar 9 18:10:02 MSK 2009
On March 9, 2009 10:51:28 Ben Okopnik wrote:
> On Mon, Mar 09, 2009 at 10:23:14AM -0400, Lew Pitcher wrote:
> > On March 8, 2009 18:28:31 Ben Okopnik wrote:
> > > On Sun, Mar 08, 2009 at 04:52:23PM -0400, Lew Pitcher wrote:
> > > > Note also that normally, both ftp and sftp are interactive; the
> > > > command invocation does not usually define all the file transfer
> > > > requirements.
> > >
> > > Actually, that part's pretty easy.
> > >
> > > ```
> > > ben at Tyr:~$ >FOOBAR
> > > ben at Tyr:~$ echo -e "cd /tmp\nput FOOBAR\n"|sftp ben at localhost
> >
> > [snip]
> >
> > True(ish)
> >
> > I've used something similar in a couple of my own projects.
> >
> > The drawback for "preloading" the responses to an interactive stream like
> > this is that neither ftp nor sftp include a way to determine whether or
> > not the commands worked. Had your sftp session not been able to connect
> > to localhost, or not been able to cd to /tmp, the "preloaded" command
> > stream would have failed, but /appeared/ to have worked.
>
> In the part that you snipped, there were responses from 'sftp' that
> showed where the commands succeeded. You could capture and/or test for
> those if you wanted to. Plain FTP can be made verbose as well:
>
> ``
> -v Verbose option forces ftp to show all responses from the remote
> server, as well as report on data transfer statistics.
> ''
I hadn't thought about using post-analysis, but it sounds like it would work
in most cases. I was thinking more of the inability to respond immediately to
error conditions; if (in your example), the /tmp directory didn't exist,
the "cd /tmp" would have failed, and your client session would potentially be
left in the initial server-side directory. In this case, do you /really/ want
the client to execute the "put FOOBAR"? FOOBAR might wind up in the wrong
directory, necessitating some amount of clean-up that is cumbersome to
perform after-the-fact.
> It seems like all of that is definitive and testable - although I'd
> agree that it's not as easy as it should be.
True. And if you are confident enough in the stability of your preloaded
commands (and/or your post-analysis recovery), there's no reason /not/ to use
this sort of setup. As I said, I've done exactly that in a number of
different projects.
[snip]
--
Lew Pitcher
Master Codewright & JOAT-in-training | Registered Linux User #112576
http://pitcher.digitalfreehold.ca/ | GPG public key available by request
---------- Slackware - Because I know what I'm doing. ------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 218 bytes
Desc: This is a digitally signed message part.
Url : http://lists.linuxgazette.net/mailman/private/tag/attachments/20090309/3b518ffb/attachment.pgp
More information about the TAG
mailing list