使用scp保留权限


25

即使与-p选项一起使用,SCP似乎也不会保留所有权戳。

scp -p /mysql/serv/data_summary.* some_server:/mysql/test/

这些文件由mysql拥有,我希望在目标服务器上分配相同的所有权。由于某些管理员问题,我需要在两台服务器上以root用户身份复制文件。我无法更改为mysql @

Answers:


37

尝试使用rsync,除了保留所有权,权限和增量副本外,它还有很多其他好处:

rsync -av source 192.0.2.1:/dest/ination

除此之外,由于rsync使用ssh,它应该在scp工作的地方工作。


ssh支持-i myfile.pem,而rsync似乎没有-i选项
shantanuo 2012年

5
@shantanuo:使用rsync -e 'ssh -i myfile.pem' -insert_other_rsync_options_here
Janne Pikkarainen

14

那是正确的。“ -p”不这样做。请参见手册页:

     -p从以下位置保留修改时间,访问时间和模式:
             原始文件。

注意它说的是时间和模式,而不是用户/组的所有权。使用“ rsync”会更好,因为它在异构系统之间进行复制时具有保留权限的各种功能。例如,rsync中的“ -p”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.