CentOS跨服务器文件复制,实用方法与操作指南

admin
CentOS跨服务器文件复制是运维常见需求,常用方法包括scp、rsync及sftp,scp基于SSH,语法简洁(如scp file user@host:/path),适合小文件快速传输;rsync支持增量同步和压缩(rsync -avz source user@host:/dest),效率更高,适合大文件或目录,操作前需确保SSH免密登录或正确认证,开放防火墙端口(如22),并检查文件权限及网络连通性,这些方法安全可靠,可根据文件大小、网络环境灵活选择,有效提升跨服务器数据传输效率。

在服务器管理中,经常需要将文件从一台CentOS服务器复制到另一台服务器,例如数据迁移、配置同步、备份传输等场景,本文将介绍几种CentOS系统下常用的跨服务器文件复制方法,包括scprsyncsftp及SSH免密登录配置,帮助读者根据实际需求选择合适的方式。

使用scp命令:简单高效的小文件传输

scp(Secure Copy)是基于SSH的安全文件复制命令,适用于小文件或简单目录的传输,支持加密传输,确保数据安全性。

基本语法

scp [选项] 源文件路径 目标用户@目标主机IP:目标路径
  • 选项说明
    • -r:递归复制目录(适用于目录传输);
    • -p:保留文件的权限、时间戳等属性;
    • -P:指定SSH端口(默认22,若远程服务器SSH端口非22需使用);
    • -v:显示详细传输过程(调试用)。

实际操作示例

(1)复制本地文件到远程服务器

将本地/home/user/test.txt文件复制到远程服务器168.1.100/opt/目录下,目标用户为root

CentOS跨服务器文件复制,实用方法与操作指南

scp /home/user/test.txt root@192.168.1.100:/opt/

(2)复制本地目录到远程服务器

递归复制本地/home/user/data/目录到远程服务器的/tmp/目录:

scp -r /home/user/data/ root@192.168.1.100:/tmp/

(3)从远程服务器复制文件到本地

将远程服务器168.1.100/var/log/nginx/access.log复制到本地当前目录:

scp root@192.168.1.100:/var/log/nginx/access.log ./

优缺点

  • 优点:简单易用,无需额外安装(CentOS默认已安装),支持加密传输。
  • 缺点:不支持断点续传,大文件传输效率较低;每次传输需输入密码(未配置免密时)。

使用rsync命令:高效同步大文件与目录

rsync(Remote Sync)是一款强大的文件同步工具,支持增量复制、断点续传、权限保留等功能,适合大文件或频繁同步的场景,传输效率远高于scp

基本语法

rsync [选项] 源文件路径 目标用户@目标主机IP:目标路径
  • 选项说明
    • -a:归档模式,相当于-rlptgoD(递归、保留权限、时间戳、属主属组等);
    • -v:显示传输过程;
    • -z:压缩传输数据,减少网络带宽占用;
    • -P:显示传输进度,支持断点续传;
    • --delete:目标路径中存在但源路径中不存在的文件会被删除(同步时谨慎使用)。

实际操作示例

(1)同步本地目录到远程服务器(保留所有属性,压缩传输)

rsync -avz /home/user/source/ root@192.168.1.100:/opt/destination/

(2)增量同步(仅传输变化的文件)

若需定期同步/data/目录到远程服务器,且仅同步新增或修改的文件:

rsync -avz --delete /data/ root@192.168.1.100:/backup/data/

(3)从远程服务器拉取文件并断点续传

若传输中断,可重新执行命令继续传输:

rsync -avzP root@192.168.1.100:/large_file.iso /home/user/

优缺点

  • 优点:支持增量复制、断点续传,传输效率高;可删除目标多余文件,实现严格同步。
  • 缺点:若未安装rsync,需在两台服务器上安装(yum install rsync -y)。

使用sftp命令:交互式安全文件传输

sftp(SSH File Transfer Protocol)是基于SSH的安全文件传输协议,提供交互式命令行界面,类似于FTP,但数据通过SSH加密传输,安全性更高。

基本操作流程

(1)登录远程服务器

sftp 目标用户@目标主机IP
sftp root@192.168.1.100

(2)常用交互命令

  • put 本地文件路径 [远程路径]:上传本地文件到远程;
  • get 远程文件路径 [本地路径]:下载远程文件到本地;
  • ls [远程路径]:查看远程目录内容;
  • cd [远程路径]:切换远程目录;
  • `mkdir
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码