欢迎光临
我们一直在努力

Linux网络管理与文件归档与备份

nmcli

nmcli 是 NetworkManager 的命令行工具,全称 Network Manager Command Line Interface。它是 CentOS 7+ / RHEL 7+ 中管理网络的首选工具,功能强大且配置可以永久生效。


一、核心概念:设备 vs 连接

理解 nmcli 前,必须先分清两个概念:

概念英文说明
设备 Device 物理网卡(如 ens192、eth0)
连接 Connection 网卡的配置方案(一个设备可以有多个连接配置,但同一时刻只能激活一个)

类比:设备是“手机”,连接是“SIM 卡”。一部手机可以插多张 SIM 卡,但同一时间只能用一张。


二、查看信息

1. 查看设备

# 查看所有设备状态
nmcli device
nmcli device status

# 查看指定设备详情
nmcli device show ens192

# 只看 IP 相关信息
nmcli device show ens192 | grep IP4

2. 查看连接

# 查看所有连接
nmcli connection
nmcli connection show

# 查看指定连接详情
nmcli connection show ens192-static

# 只看 IPv4 配置
nmcli connection show ens192-static | grep ipv4

3. 查看通用网络状态

# 查看整体网络状态
nmcli general status

# 查看网络连通性
nmcli networking connectivity


三、设备管理

# 断开设备
sudo nmcli device disconnect ens192

# 连接设备
sudo nmcli device connect ens192

# 查看设备状态
nmcli device status


四、连接管理

1. 启用/停用连接

# 启用连接
sudo nmcli connection up ens192-static

# 停用连接
sudo nmcli connection down ens192-static

2. 删除连接

sudo nmcli connection delete ens192-static

3. 修改连接

# 修改 IP 地址
sudo nmcli connection modify ens192-static ipv4.addresses 10.1.8.100/24

# 修改网关
sudo nmcli connection modify ens192-static ipv4.gateway 10.1.8.2

# 修改 DNS
sudo nmcli connection modify ens192-static ipv4.dns "223.5.5.5 114.114.114.114"

# 修改获取方式为手动
sudo nmcli connection modify ens192-static ipv4.method manual

# 修改获取方式为自动(DHCP)
sudo nmcli connection modify ens192-static ipv4.method auto

# 修改后需要重新激活
sudo nmcli connection up ens192-static


五、创建连接

1. 自动获取(DHCP)

sudo nmcli connection add type ethernet ifname ens192 con-name ens192-dynamic

2. 静态 IP

sudo nmcli connection add type ethernet ifname ens192 con-name ens192-static \\
ipv4.method manual \\
ipv4.addresses 10.1.8.100/24 \\
ipv4.gateway 10.1.8.2 \\
ipv4.dns "223.5.5.5 114.114.114.114"

3. 添加静态路由

sudo nmcli connection modify ens192-static ipv4.routes "192.168.50.0/24 10.1.8.2"


六、网络启停

# 停用所有网络
sudo nmcli networking off

# 启用所有网络
sudo nmcli networking on

# 查看网络是否启用
nmcli networking

注意:nmcli networking off 只是停用网络连接,不会停止 NetworkManager 服务。


七、nmtui — 图形化文本界面

如果觉得 nmcli 命令太长,可以用 nmtui 进入交互式文本界面:

sudo nmtui

操作方式:

  • 方向键:移动光标
  • Tab:切换区域
  • 回车:选中/确认
  • 空格:勾选/取消

功能:

  • 编辑连接
  • 启用连接
  • 设置系统主机名

八、实战场景

场景一:将网卡从 DHCP 改为静态 IP

# 1. 查看当前连接名
nmcli connection show

# 2. 修改为静态
sudo nmcli connection modify ens192 ipv4.method manual
sudo nmcli connection modify ens192 ipv4.addresses 10.1.8.100/24
sudo nmcli connection modify ens192 ipv4.gateway 10.1.8.2
sudo nmcli connection modify ens192 ipv4.dns "223.5.5.5"

# 3. 重新激活
sudo nmcli connection up ens192

场景二:新增一块网卡并配置静态 IP

# 1. 确认新网卡名称
ip -br link

# 2. 创建静态连接
sudo nmcli connection add type ethernet ifname ens224 con-name ens224-static \\
ipv4.method manual \\
ipv4.addresses 192.168.1.100/24 \\
ipv4.gateway 192.168.1.1

# 3. 激活
sudo nmcli connection up ens224-static

场景三:切换 DNS 服务器

sudo nmcli connection modify ens192 ipv4.dns "8.8.8.8 114.114.114.114"
sudo nmcli connection up ens192
cat /etc/resolv.conf


九、nmcli vs 传统配置文件

对比项nmcli手动改 /etc/sysconfig/network-scripts/
推荐度 ✅ 推荐 ⚠️ 不推荐
生效方式 nmcli connection up nmcli connection reload + up
语法检查
跨发行版 ✅ 支持 ❌ 仅 RHEL 系
可脚本化 ✅ 强 一般

课堂笔记里也强调:尽量不要手动修改配置文件,用 nmcli 或 nmtui。


十、常用命令速查

操作命令
查看设备 nmcli device
查看连接 nmcli connection show
启用连接 nmcli connection up 连接名
停用连接 nmcli connection down 连接名
删除连接 nmcli connection delete 连接名
修改 IP nmcli connection modify 连接名 ipv4.addresses IP/掩码
修改网关 nmcli connection modify 连接名 ipv4.gateway 网关
修改 DNS nmcli connection modify 连接名 ipv4.dns "DNS1 DNS2"
改为静态 nmcli connection modify 连接名 ipv4.method manual
改为 DHCP nmcli connection modify 连接名 ipv4.method auto
新增连接 nmcli connection add type ethernet ifname 网卡 con-name 连接名
图形化界面 nmtui

一句话总结

nmcli = NetworkManager 的命令行入口:

  • 看:nmcli device、nmcli connection show
  • 改:nmcli connection modify
  • 建:nmcli connection add
  • 启停:nmcli connection up/down

记住:设备是网卡,连接是配置。一个设备可以有多个连接,但同一时刻只能激活一个。

文件归档与备份

Linux 文件归档与备份是运维的核心技能之一。归档是把多个文件打包成一个文件,备份则是在归档的基础上增加策略和自动化。我们分几个层面来讲。


一、归档 vs 备份

概念说明典型工具
归档 把多个文件/目录打包成一个文件,便于传输和存储 tar、zip
压缩 减小文件体积,节省空间 gzip、bzip2、xz
备份 按策略定期复制数据,防止丢失 tar + cron、rsync、dd

归档不一定压缩,备份一定包含策略(频率、保留、恢复)。


二、tar — 最常用的归档工具

tar 的名称来源于 Tape Archive(磁带归档),是 Linux 下最经典的打包工具。

1. 基本语法

tar [选项] [归档文件名] [要归档的文件或目录]

2. 核心选项

选项说明
-c 创建归档(create)
-x 解压归档(extract)
-t 查看归档内容(list)
-f 指定归档文件名(必须放在最后)
-v 显示过程(verbose)
-z 用 gzip 压缩/解压(.tar.gz)
-j 用 bzip2 压缩/解压(.tar.bz2)
-J 用 xz 压缩/解压(.tar.xz)
-C 指定解压目录
–exclude 排除指定文件或目录

3. 常用操作

① 创建归档

# 打包(不压缩)
tar -cvf backup.tar /home/zzw

# 打包并 gzip 压缩
tar -czvf backup.tar.gz /home/zzw

# 打包并 bzip2 压缩
tar -cjvf backup.tar.bz2 /home/zzw

# 打包并 xz 压缩(压缩率最高,速度最慢)
tar -cJvf backup.tar.xz /home/zzw

② 查看归档内容

tar -tvf backup.tar.gz

③ 解压归档

# 解压到当前目录
tar -xzvf backup.tar.gz

# 解压到指定目录
tar -xzvf backup.tar.gz -C /tmp/

# 只解压指定文件
tar -xzvf backup.tar.gz home/zzw/file.txt

④ 排除文件

tar -czvf backup.tar.gz /home/zzw –exclude="*.log" –exclude="cache"


三、其他压缩工具

1. gzip / gunzip

# 压缩(原文件会消失,生成 .gz)
gzip file.txt

# 解压
gunzip file.txt.gz

# 保留原文件
gzip -k file.txt

# 查看压缩率
gzip -l file.txt.gz

2. bzip2 / bunzip2

bzip2 file.txt # 压缩
bunzip2 file.txt.bz2 # 解压

3. xz / unxz

xz file.txt # 压缩
unxz file.txt.xz # 解压

4. zip / unzip

# 压缩
zip -r backup.zip /home/zzw

# 解压
unzip backup.zip

# 解压到指定目录
unzip backup.zip -d /tmp/

对比:

工具压缩率速度常见后缀
gzip .gz
bzip2 较高 .bz2
xz 最高 .xz
zip .zip

四、rsync — 增量备份利器

rsync 是 Linux 下最强大的文件同步工具,支持增量传输(只传变化的部分),非常适合备份。

1. 基本语法

rsync [选项] 源路径 目标路径

2. 常用选项

选项说明
-a 归档模式(保留权限、时间、所有者等)
-v 显示过程
-z 传输时压缩
-h 人类可读格式
–delete 删除目标中源没有的文件(保持完全一致)
–exclude 排除文件
-P 显示进度 + 支持断点续传
-e ssh 通过 SSH 传输

3. 常用示例

# 本地同步
rsync -avh /home/zzw/ /backup/zzw/

# 本地同步并删除目标多余文件(镜像)
rsync -avh –delete /home/zzw/ /backup/zzw/

# 远程同步(通过 SSH)
rsync -avhz -e ssh /home/zzw/ zzw@10.1.8.10:/backup/zzw/

# 排除日志和缓存
rsync -avh –exclude="*.log" –exclude="cache" /home/zzw/ /backup/zzw/

# 显示进度,支持断点续传
rsync -avhP /home/zzw/ /backup/zzw/

注意:源路径末尾的 / 很关键:

  • /home/zzw/ → 同步 zzw 目录里面的内容
  • /home/zzw → 同步 zzw 目录本身

五、dd — 磁盘级备份

dd 用于按块复制,可以备份整个磁盘或分区,适合做镜像。

1. 备份磁盘

sudo dd if=/dev/sda of=/backup/sda.img bs=4M status=progress

参数说明
if= 输入文件(源)
of= 输出文件(目标)
bs=4M 块大小
status=progress 显示进度

2. 恢复磁盘

sudo dd if=/backup/sda.img of=/dev/sda bs=4M status=progress

3. 备份 MBR

sudo dd if=/dev/sda of=/backup/mbr.img bs=512 count=1

注意:dd 非常危险,of= 写错会直接覆盖磁盘数据,操作前务必确认。


六、备份策略

1. 三种备份类型

类型说明优点缺点
全量备份 备份所有数据 恢复简单 占用空间大,耗时长
增量备份 只备份上次备份后变化的数据 节省空间和时间 恢复需要全量 + 所有增量
差异备份 只备份上次全量备份后变化的数据 恢复比增量简单 占用空间比增量大

2. 常见策略:3-2-1 原则

  • 3 份数据副本
  • 2 种不同存储介质
  • 1 份异地存放

3. 自动化备份(cron + tar)

# 编辑 crontab
crontab -e

# 每天凌晨 2 点全量备份 /home
0 2 * * * tar -czvf /backup/home_$(date +\\%Y\\%m\\%d).tar.gz /home

注意:crontab 中的 % 需要转义为 \\%。


七、实战场景

场景一:备份网站目录

tar -czvf /backup/www_$(date +%Y%m%d).tar.gz /var/www/html

场景二:增量同步到远程服务器

rsync -avhz –delete -e ssh /var/www/ user@backup-server:/backup/www/

场景三:备份数据库

mysqldump -u root -p database > /backup/db_$(date +%Y%m%d).sql
tar -czvf /backup/db_$(date +%Y%m%d).sql.tar.gz /backup/db_$(date +%Y%m%d).sql

场景四:定期清理旧备份

# 删除 7 天前的备份
find /backup -name "*.tar.gz" -mtime +7 -delete


八、一句话总结

工具用途特点
tar 打包归档 最常用,配合 -z/-j/-J 压缩
gzip/bzip2/xz 单文件压缩 xz 压缩率最高
zip/unzip 跨平台压缩 Windows 兼容
rsync 增量同步/备份 远程备份首选
dd 磁盘级备份 整盘镜像,危险

日常备份记住:tar 打包,rsync 同步,cron 定时,find 清理。

赞(0)
未经允许不得转载:171主机测评 » Linux网络管理与文件归档与备份
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址