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

use*_*965 6 ftp command-line

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

mhe*_*384 5

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

由于显而易见的原因,使用文件大小并不可靠 - 文件可能会更改但具有相同的大小.我不喜欢使用存档位或修改日期,因为如果使用其他备份程序备份或恢复本地目录,则可能会混淆其中任何一个.


mir*_*rek 5

git-ftp 工作得非常好:

apt-get install git-ftp
Run Code Online (Sandbox Code Playgroud)

在应用程序文件夹中:

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
Run Code Online (Sandbox Code Playgroud)

仅当目标由其他 ftp 客户端更新时才遵循(它将 ftpservice.server.com/root/dir/for/ftp/git-ftp.log 更改为当前提交)

git ftp catchup --scope xxxx
Run Code Online (Sandbox Code Playgroud)

//编辑来源//

git commit -m "new version"
git ftp push --scope xxxx
Run Code Online (Sandbox Code Playgroud)

你可以看到发生了什么:

git ftp show --scope xxxx
git ftp log --scope xxxx
Run Code Online (Sandbox Code Playgroud)


Nic*_*ick 0

乔纳斯,

文件多久可能更改一次?

如果它们在可预测的时间范围内发生变化,您可以考虑使用文件上的修改日期和其他日期属性。