Command line 试图找到一种简单的方法通过FTP只上传修改过的文件

Command line 试图找到一种简单的方法通过FTP只上传修改过的文件,command-line,ftp,Command Line,Ftp,需要找到一种方法来上传文件到我的服务器通过FTP。但是只有那些被修改过的。 有没有一种简单的方法? 首选命令行ftp客户端或脚本。 谢谢你,乔纳斯 乔纳斯 文件可能多久更改一次 如果在一个可预测的时间框架上进行更改,则可以考虑在文件上使用修改后的和其他日期属性。< P>(等待在扩展之前回答的主要问题) 该战略将是: 查找使用日期、时间、存档位或哈希(取决于操作系统)更改的文件 使用此列表,生成一个FTP脚本,将这些文件放入 运行FTP脚本 最可靠的方法是对您关心的所有本地文件进行md5哈希,并将

需要找到一种方法来上传文件到我的服务器通过FTP。但是只有那些被修改过的。 有没有一种简单的方法? 首选命令行ftp客户端或脚本。 谢谢你,乔纳斯

乔纳斯

文件可能多久更改一次

如果在一个可预测的时间框架上进行更改,则可以考虑在文件上使用修改后的和其他日期属性。

< P>(等待在扩展之前回答的主要问题)

该战略将是:

  • 查找使用日期、时间、存档位或哈希(取决于操作系统)更改的文件
  • 使用此列表,生成一个FTP脚本,将这些文件放入
  • 运行FTP脚本

  • 最可靠的方法是对您关心的所有本地文件进行md5哈希,并将其存储在一个文件中。因此,该文件将包含文件名及其md5哈希的列表。将该文件存储在ftp服务器上。如果要更新ftp服务器上的文件,请下载包含列表的文件,将其与所有本地文件进行比较,然后上载已更改(或新的)的文件。这样,您就不必担心归档位、修改日期或查看文件大小,因为使用这些数据永远不会100%可靠


    使用文件大小是不可靠的,原因很明显-一个文件可以更改,但大小相同。我不喜欢使用存档位或修改日期,因为如果使用另一个备份程序备份或还原本地目录,这两种方法都可能会混淆。

    你真的坚持使用
    ftp
    ,还是改用
    rsync


    如果
    ftp
    必需的
    rsync
    大致相同(至少有一半是这样,
    rsync
    也会查看不同文件的修改时间…。

    使用它相对容易。但只有当您的计算机是唯一一台修改ftp服务器上文件夹的计算机时,它才起作用


    我听说rsync也在工作,但我不确定,我从未使用过rsync。。。而且它不是ftp…

    git ftp的工作原理非常好:

    apt-get install git-ftp
    
    在应用程序文件夹中:

    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
    
    仅当其他ftp客户端的目标是最新的(它将ftpservice.server.com/root/dir/for/ftp/git-ftp.log更改为当前提交)时,才执行以下操作

    //编辑来源//

    git commit -m "new version"
    git ftp push --scope xxxx
    
    你可以看到海皮斯:

    git ftp show --scope xxxx
    git ftp log --scope xxxx
    

    Netbeans有一个很好的ftp。它支持选择性上传、下载

    脚本运行的操作系统/平台是什么?
    git ftp show --scope xxxx
    git ftp log --scope xxxx