存在例外的安全远程复制

存在例外的安全远程复制

为了使用一些远程存储和生成的数据,我首先通过 下载它们scp servername:/.../big_directory/* ~/。有许多文件,命令包括所有内容。这些文件的变化不可预测(对我来说),但实际上只有少数文件(而不是很多文件)在下载和下一次下载之间发生变化。有没有办法将它们与我本地已有的文件逐一进行比较,例如if diff file_in_the_server local_file_with_the_same_name returns zero then skip或类似的东西?这将节省时间并具有革命性。我认为这是不可能的,因为为了比较它们,必须以某种方式进行一些下载,但是我还是要问,以确保这对我来说是巫术

提前非常感谢

答案1

您正在寻找的rsync选项-u。来自man rsync

       --update, -u
              This forces rsync to skip any files which exist on the destina‐
              tion and have a modified time that is  newer  than  the  source
              file.  (If an existing destination file has a modification time
              equal to the source file's, it will be updated if the sizes are
              different.)

因此您的完整命令将是:

rsync -u servername:/.../big_directory/* ~/

相关内容