Linux服务器文件备份传输攻略:tar+scp命令从A到B服务器安全迁移全流程(新手避坑指南) - 技术宅银魂 - 科技改变生活 - 万事屋 | 生活·动漫·娱乐综合社区-银魂同好聚集地

Linux服务器文件备份传输攻略:tar+scp命令从A到B服务器安全迁移全流程(新手避坑指南)

作为一枚运维狗,最崩溃的时刻莫过于深夜赶工传输服务器文件——要么输错端口连不上,要么打包时漏了目录,眼睁睁看着进度条卡在99%一动不动。后来才发现,原来用系统自带的tar打包加scp传输组合,就能搞定90%的Linux服务器文件迁移需求,关键是不用装那些花里胡哨的工具,稳定又高效!今天就把这套“傻瓜式”操作流程掰开揉碎讲清楚,新手也能照着做,避坑率直接拉满。

一、打包篇:用tar命令把目标目录“压成砖头”

首先得把A服务器上要传的文件打包,就像搬家前把零散东西装成箱子。我之前犯过傻,直接传整个目录,结果文件太多导致传输中断,重来又要花半小时。用tar命令打包就没这问题,还能压缩体积省时间。
登录A服务器(IP:192.168.1.111)后,直接执行这条命令:
tar -zcf /home/backup/site/123.tar.gz /home/www/123
这里得解释下参数,免得新手看蒙:-z是用gzip压缩,-c是创建新归档,-f指定输出文件名。简单说就是“把/home/www/123目录压缩成123.tar.gz,存到/home/backup/site/文件夹里”。

重点来了!如果/home/backup/site/这个目录不存在,命令会直接报错。别慌,先执行创建目录的命令:

mkdir -p /home/backup/site/
加上-p参数就算上级目录不存在也能一起创建,比手动建目录省事多了。打包完成后可以用ls /home/backup/site/检查

二、传输篇:scp命令跨服务器“送货上门”

打包好的文件就像打好的包裹,接下来用scp命令送到B服务器(IP:192.168.1.222,SSH端口:12345)。很多人第一次用scp会栽在端口上,记住是大写的-P指定端口,小写p是别的参数,别搞混!

在A服务器上直接敲这条传输命令:

scp -P 12345 /home/backup/site/123.tar.gz root@192.168.1.222:/home/backup/stie/123/
解释下各部分:root@192.168.1.222里的root是B服务器的登录用户名,根据实际情况换成你的账号;后面的路径就是文件要传到B服务器的目标位置。这里要吐槽下,用户原文里写的“stie”可能是“site”的笔误,实际操作时一定要核对路径拼写,我曾经因为多打个字母,文件传错目录找了半天。

如果B服务器的/home/backup/stie/123/目录还没创建,也可以用一条命令搞定创建+传输,省得再登录B服务器操作:

ssh -p 12345 root@192.168.1.222 "mkdir -p /home/backup/stie/123/" && scp -P 12345 /home/backup/site/123.tar.gz root@192.168.1.222:/home/backup/stie/123/
&&连接两个命令,前面创建目录成功后才会执行传输,逻辑很严谨。执行后输入B服务器的登录密码,等待进度条走完就大功告成了。对比FTP工具还要配置服务端,scp这种基于SSH协议的加密传输方式,不仅安全不怕数据泄露,还不用额外安装软件,简直是服务器传输的“懒人福音”。

三、避坑锦囊:这些细节能帮你少走弯路

  • 路径别瞎写:无论是打包源路径还是传输目标路径,建议用绝对路径(从/开始写),相对路径容易因为当前目录不对导致失败。
  • 权限要够:操作时确保登录用户有读写目标目录的权限,比如普通用户可能没权限写/root目录,这时候要么换root用户,要么修改目录权限。
  • 大文件加进度条:传几GB的大文件时,加上-v参数可以显示传输进度,比如scp -P 12345 -v 文件名 目标路径,看着进度条心里有底。
  • 定期备份用脚本:如果需要每天备份,把打包+传输命令写成shell脚本,再用crontab定时执行,解放双手不香吗?
其实Linux服务器文件管理没那么复杂,掌握tar和scp这两个“老伙计”,应对日常的文件备份迁移绰绰有余。比起那些花里胡哨的图形化工具,命令行操作虽然看着硬核,但熟练后效率能提升不少,还能避免依赖第三方软件的各种兼容性问题。

本文由万事屋原创,转载请保留出处。更多Linux运维实用技巧,可访问万事屋官网:https://www.rei3.com

 

请登录后发表评论

    没有回复内容

万事屋新帖