一、使用scp传输文件:
1、scp命令可将文件从远程系统复制到本地系统或从本地系统复制到远程系统,从命令通过SSH进行身份验证,并对传输的数据进行加密,远程传输到的位置格式为user@host:/path。
例如:将host上的文件复制到remotehost远程系统上remoteuser的主目录
scp /etc/hosts remoteuser@remotehost:/home/remoteuser
也可以从远程系统复制到本地系统
例如:将remotehost上的/etc/hostname复制到本地目录/home/user(可添加-r进行递归)
scp remoteuser@remotehost:/etc/hostname /home/user
2、使用sftp传输程序可以交互方式从服务器传输文件,若未指定用户则会显示sftp>提示符,其中put命令将文件上载到远程系统,get命令从远程系统下载文件,exit可退出交互模式。
二、使用rsync同步文件和目录:
rsync命令可在系统间安全复制文件的另一种方式,他的优点是能够在本地系统和远程系统之间安全且高效的复制文件,远程传输的位置和scp命令的格式一样。它和scp命令的区别在于rsync仅复制文件系统间的差异部分,而scp仍复制所有内容。
1、rsync -n命令:用于空执行(空执行是指执行命令时所发生情况的模拟)
2、rsync -v命令:提供更详细的输出,用于故障排除和查看实时进度
3、rsync -a命令:启用存档模式
选项 | 用途 |
-r | 递归方式 |
-l | 同步符号链接 |
-p | 保留权限 |
-t | 保留时间戳 |
-g | 保留组所有权 |
-o | 保留文件所有者 |
-D | 同步设备文件 |
-H | 保留硬链接 |
例如:让/var/log目录的内容和/tmp目录保持同步
rsync -av /var/log /tmp
注意:/var/log后加/,可以同步目录的内容,而不是新建子目录