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



Reply via email to