我有一个带有我想用 scp 覆盖的文件的远程主机。这是一个简单的
scp 'myfile.ext' '[email protected]:/bar/baz'
我还想将原始的“/bar/baz/myfile.xt”“重命名”为一个文件,而不是用新版本覆盖它。一个简单的“/bar/baz/myfile.xt~”就足够了,但最好是计数器或当前日期。
scp有什么办法吗?
我想尽量减少“scp”调用,因为我需要始终输入一个交互式密码(不,我不能更改身份验证方法)
我有一个带有我想用 scp 覆盖的文件的远程主机。这是一个简单的
scp 'myfile.ext' '[email protected]:/bar/baz'
我还想将原始的“/bar/baz/myfile.xt”“重命名”为一个文件,而不是用新版本覆盖它。一个简单的“/bar/baz/myfile.xt~”就足够了,但最好是计数器或当前日期。
scp有什么办法吗?
我想尽量减少“scp”调用,因为我需要始终输入一个交互式密码(不,我不能更改身份验证方法)
您想将原始名称重命名
/bar/baz/myfile.xt
为/bar/baz/myfile.xt~
或更好,带有计数器或日期后缀。您不能直接使用 来执行此操作
scp
,但这里有几个替代原始命令的方法。使用
rsync
如果目标文件发生更改,该
-b
标志告诉rsync
进行备份。默认为追加~
,但您可以更改该默认值。例如,这将使用今天的日期(在源机器上定义):与.
ssh
_scp
我假设这baz
是目标文件的名称,而不是要复制源文件的目录:如果您愿意,您可以使用
mv
代替cp
,但这会丢失真正目标文件上的任何非标准权限和硬文件链接。该
rsync
选项更简洁,但并不总是安装。它必须是
scp
吗?我认为它不能为您重命名文件(除了将远程复制到远程之外,但我从来不确定它的效果如何。)sftp
会让它变得相当简单你也可以用 来做到这一点,但请注意,除了(无权限,时间戳......)
ssh
的数据之外,这不会复制任何内容test
您可以使用
mirrordir