ftp automation

ScriptFTP

The professional tool to automate FTP, SFTP, FTPS and schedule FTP batch jobs

The forum is now read only. Please, go to the the main ScriptFTP website if you need help.
Missing any feature or command? Post your ideas here. Suggestions are welcome.
It would be great if ScriptFTP would be able to automatically check the FTP Server to see if the remote file is the same size as the local. If yes, skip the file. If no, get the file, but not a complete overwrite only a resume from where it differs.

Sometimes the file on the remote or the local are the same date (example - remote file retrieve fails midstream, but the files now have the same date and the files will never be properly synchronized because the dates are the same) but are not identical,
Hi, just a couple of questions:

- Do you mean implementing this check in the SYNC command, the GETFILE command or both?
- Does the commands SETUPLOADMODE/SETDOWNLOADMODE (deprecated in the current version) would help? These commands made ScriptFTP to upload/download files with a temporary filename and once the transfer is finished ScriptFTP would rename it to its original filename.
In the SYNC and the GETFILE commands.

I'd like to be able to write a script that says check the files for size compared to my local files (date differences of files is irrelevant. The dates on my remote files changes, but if the size of the remote file is the same as local then skip it).

If the remote file is Larger - then the local file should resume download at the difference. Otherwise, if no other choice then overwrite.

If the remote file is the same size (regardless of the file dates) - skip it

If the remote file is smaller - tell us in the log file - and skip it - this will take a manual look to determine what to do.

Hope this makes sense.
Anything in response to my last post?
Hi,

I am sorry but this will not be implemented because of the following:

- On SYNC, if a file is replaced in one side (server or client) because the sizes are different but the dates are equal we might be replacing a new file with an older version (bad) or an older version with a new file (good). There is no way to be sure. In your case it is the second but it is not true in all the cases.

- Also, resuming file transfers saves time but it is also very error prone and, although many FTP clients do that, it sometimes may cause some trouble. For example:

A.txt is 10KB and the FTP client uploads the file but the transfer is interrupted and only 6KB are uploaded. The FTP client reconnects and completes the remaining 4KB. It is not possible to be sure that the first 6KB have not been changed in the server between the two connections, hopefully only a few seconds of difference. As the file was not blocked by the FTP server to prevent changes by other process. This will produce a corrupt file. For downloading files it is the same.

This is a very edge case but can happen... not very often but can happen...

Note that many ScriptFTP users use this software to update things like machine firmware, critical server files.. etc. It is a very special FTP client and when something can cause problems like this just to save some file transfer time...

It is of course my very own opinion and I can be wrong. On the other side, this may be a problem for other users.
I'm used to regular FTP programs and their settings of size differences and resuming a 'broken' transfer. I understand others may have different needs. Thanks for the response to the above.

Creating my scripts has been time consuming, but I now have all of my exclusion files listed. Now its a simple task to add exclusions to the few new files downloaded during the week.

Thanks for the upgrade on the email feature of the program and the script examples. Currently, my script is working perfectly and the email feature I set up tells me when the script started, ended, and sends a copy of the log file for review.

Now that I have it all functioning, I'm going to set SILENT (ON). Again thanks for all your assistance. Great work, great support, great program. :D :D