使用 scp 保留权限

sha*_*nuo 36 cp scp

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

scp -p /mysql/serv/data_summary.* some_server:/mysql/test/
Run Code Online (Sandbox Code Playgroud)

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

ase*_*seq 49

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

rsync -av source 192.0.2.1:/dest/ination
Run Code Online (Sandbox Code Playgroud)

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

  • @shantanuo:使用`rsync -e 'ssh -i myfile.pem' -insert_other_rsync_options_here` (5认同)

Nex*_*ex7 21

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

     -p 保留修改时间、访问时间和模式
             原始文件。

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