Alexander,
Please allow me to congradulate you on an excellent job with LFTP. One
command I always wished that a scriptable FTP client would have is a
move command, which would conditionally remove the file(s) on the source
end if they were successfully transmitted to the destination end. I
always felt that mput *; followed by !rm * was inherently dangerous, but
obviously less so if you work as hard as you say to reconnect, retry
with optional continuation. Your documentation states that the -E option
to put or mput is dangerous, but if the removal is dependent on the file
having been transferred completely and successfully, then I fail to see
what is so dangerous about it. Also, the same -E option is NOT listed as
being dangerous in regard to the get and mget commands, why? In either
case, it should be possible to get information about the newly
transferred file and at least confirm that the new file is the same size
as the old. Don't you do this? Also, the mirror command has the
--Remove-source-files command, which has a caution about using it. Could
you please elaborate on why you consider this remove after successful
transfer to be risky?
One approach I used to take was to do replication of files between to
computers by:
1) telling FTP to give me a directory listing of the remote system
2) deciding which files needed to be transmitted in either direction
3) generating an FTP script (with request at the end for the directory
state at the end of the transfer)
4) running that script with the FTP program
5) once again comparing the two ends
6) I continue to loop back to step #1 until the FTP script is empty,
which means that there is no longer any imbalance between the two computers.
As one of my successors told me, "This approach is much too complicated
for what is being done". I believe that he is absolutely correct about
this. I want very much to simplify the approach being taken and
standardize on using your LFTP program to do the work. My one concern is
that you seem to deprecate the use of the -E and --Remove-source-files
options and I would like to know why.
Thanks very much,
Glen Brydon