Trying to find a simple way to do upload only modified files through FTP

前端 未结 7 1682
野趣味
野趣味 2021-01-12 18:43

Need to find a way to upload files to my server through FTP. But only the ones that have been modified. Is there a simple way of doing that? Command line ftp client or scr

相关标签:
7条回答
  • 2021-01-12 19:12

    The most reliable way would be to make md5 hashes of all the local files you care about and store it in a file. So the file will contain a list of filenames and their md5 hashes. Store that file on your ftp server. When you want to update the files on your ftp server, download the file containing the list, compare that against all your local files, and upload the files that have changed (or are new). That way you don't have to worry about archive bits, modified date, or looking at file sizes, the use of which can never be 100% reliable.

    Using file sizes isn't reliable for the obvious reason - a file could change but have the same size. I'm not a fan of using the archive bit or modified date because either of those could be confused if you backup or restore your local directory with another backup program.

    0 讨论(0)
  • 2021-01-12 19:13

    git-ftp works really nice:

    apt-get install git-ftp
    

    in the application folder:

    git config git.ftp.xxxx.url ftpservice.server.com/root/dir/for/ftp
    git config git.ftp.xxxx.user myUsername
    git config git.ftp.xxxx.password myPassword
    

    following only if target is up-to-date by other ftp client (it changes ftpservice.server.com/root/dir/for/ftp/git-ftp.log to current commit)

    git ftp catchup --scope xxxx
    

    //editing sources//

    git commit -m "new version"
    git ftp push --scope xxxx
    

    and you can see what hapens:

    git ftp show --scope xxxx
    git ftp log --scope xxxx
    
    0 讨论(0)
  • 2021-01-12 19:16

    Netbeans has a nice ftp. it supports selective upload, download

    0 讨论(0)
  • 2021-01-12 19:21

    Jonas,

    How often are the files likely to change?

    If they change on a predictable time frame, you could consider using the modified and other date attributes on the file.

    0 讨论(0)
  • 2021-01-12 19:28

    Do you really insist on ftp, or can you use rsync instead?


    If ftp is required mhenry1384's idea is roughly what rsync does (well half of it anyway, rsync also looks at modification times for files that differ...).

    0 讨论(0)
  • 2021-01-12 19:28

    (Waiting for the comment on the main question to be answered before expanding)

    The strategy would be:

    1. Find the files changed using dates, times, archive bits or hashes (depending on OS)
    2. Using this list, generate a FTP script PUTting those files
    3. Run the FTP script.
    0 讨论(0)
提交回复
热议问题