必知必会!4大数据备份命令,解锁数据安全新姿势
nanshan 2025-03-26 14:39 16 浏览 0 评论
在数据管理中,数据备份是保障数据安全的关键操作,熟练掌握各类备份命令,能有效提升数据管理效率,确保数据安全。
下面为你详细介绍常用的备份命令及其丰富的应用场景。
一、cp:简单直接的复制备份
cp 即 copy ,是Linux系统基础的文件复制工具,常用于简单全量备份,可将单个文件或整个目录递归复制到指定位置。
1、复制单个文件
将 /home/user/file.txt 复制到 /backup 目录,命令如下:
cp /home/user/file.txt /backup
2、复制目录
把/home/user/data 目录备份到 /backup 目录下,命令为:
cp -r /home/user/data /backup
参数 -r 代表递归复制,能将源目录下所有文件、子目录及其内容完整复制到目标路径,操作简单,适用于对数据一致性要求不高、规模较小的数据备份任务。
3、保留文件属性
如需保留文件权限、所有者、时间戳等属性,可使用 -p 参数:
cp -rp /home/user/data /backup
4、强制覆盖
复制时若目标文件已存在,使用 -f 参数可强制覆盖:
cp -rf /home/user/data /backup
5、交互模式
以交互模式复制,在覆盖目标文件前提示用户确认,使用 -i 参数:
cp -ri /home/user/data /backup
二、rsync:强大高效的同步备份
rsync即remote sync ,功能强大,支持本地与远程主机间的数据同步备份,能增量备份,大幅提升备份效率。
1、本地增量备份
对 /data 目录进行增量备份到 /backup 目录,命令为:
rsync -avzu /data /backup
-a 是归档模式,可保留文件权限、时间戳等属性;
-v 用于显示详细同步过程;
-z 启用压缩传输,减少数据传输量;
-u 确保目标目录中已有且较新的文件不会被覆盖,只传输更新过的文件。
2、远程备份
把本地 /data 目录备份到远程服务器 192.168.1.100 的 /backup 目录,用户名为 backup_user ,命令如下:
rsync -avz /data backup_user@192.168.1.100:/backup
1)排除特定文件或目录
备份时若要排除某些文件或目录,比如排除 /data 目录下的 temp 子目录和所有 .log 文件,命令可写成:
rsync -avz --exclude='temp' --exclude='*.log' /data /backup
2)指定端口
当远程服务器的SSH端口不是默认的22时,可通过 --port 参数指定端口,如端口为2222:
rsync -avz --port=2222 /data backup_user@192.168.1.100:/backup
3)限速传输
为避免备份过程占用过多带宽影响其他业务,可使用 --bwlimit 参数限速,单位为KB/s ,如限速100KB/s:
rsync -avz --bwlimit=100 /data /backup
4)删除目标多余文件
使用--delete 参数,可使目标目录和源目录文件保持一致,删除目标目录中源目录没有的文件:
rsync -avz --delete /data /backup
3、部分同步
通过 --partial 参数支持断点续传,若传输中断,下次可接着上次的进度继续:
rsync -avz --partial /data /backup
三、tar:文件归档压缩备份
tar 即 tape archive ,主要用于将多个文件或目录打包成一个归档文件,常结合压缩选项减少存储空间占用,方便数据长期存储与传输。
1、使用gzip压缩
将 /home/user/documents 目录下的所有文件归档并使用gzip压缩成 documents.tar.gz ,命令如下:
tar -zcvf documents.tar.gz /home/user/documents
其中, -z 表示使用gzip压缩; -c 是创建新的归档文件; -v 显示详细的归档过程; -f 用于指定归档文件名。
使用bzip2压缩:若想使用bzip2获得更高的压缩比,可将 -z 参数替换为 -j :
tar -jcvf documents.tar.bz2 /home/user/documents
2、使用xz压缩
xz压缩算法能提供更高压缩率,使用 -J 参数启用:
tar -Jcvf documents.tar.xz /home/user/documents
3、解归档
当需要恢复数据时,使用以下命令:
tar -zxvf documents.tar.gz -C /restore_path
-x 代表解归档, -C 后接解归档的目标路径,能够精准还原数据。
4、查看归档内容
在不解压的情况下查看归档文件包含的内容,可使用 -t 参数:
tar -ztvf documents.tar.gz
5、追加文件到归档
使用 -r 参数可以将新文件追加到已有的归档文件中,如将 new_file.txt 追加到 documents.tar.gz:
tar -zrf documents.tar.gz new_file.txt
四、dd:底层数据复制备份
dd 命令较为底层,常用于对磁盘、分区等进行精确复制,在系统备份、数据迁移等场景发挥重要作用。
1、备份磁盘
将整个硬盘 /dev/sda 备份成镜像文件 /backup/sda.img ,命令如下:
dd if=/dev/sda of=/backup/sda.img
if (input file)指定输入文件,即源设备; of (output file)指定输出文件,也就是备份的目标位置。
2、备份分区
若只想备份 /dev/sda1 分区,命令为:
dd if=/dev/sda1 of=/backup/sda1.img
1)指定块大小
通过 bs 参数可以指定每次读写的数据块大小,比如设置为4MB(4096KB)以提高备份速度:
dd if=/dev/sda of=/backup/sda.img bs=4M
2)显示进度
默认 dd 命令不显示复制进度,可通过安装 progress 工具并配合使用查看进度:
dd if=/dev/sda of=/backup/sda.img bs=4M | progress
在MacOS系统下,可以使用 gdd (GNU版本的 dd )并加上 --progress 参数来显示进度:
gdd if=/dev/sda of=/backup/sda.img bs=4M --progress
3)指定复制的块数
使用 count 参数可以指定复制的块数,如只复制100个块:
dd if=/dev/sda of=/backup/sda.img bs=4M count=100
4)跳过指定块数
利用 skip 参数可跳过源设备开头的指定块数,如跳过10个块:
dd if=/dev/sda of=/backup/sda.img bs=4M skip=10
相关推荐
- 0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)
-
文档编写目的在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。环境介绍:...
- ARM64 平台基于 openEuler + iSula 环境部署 Kubernetes
-
为什么要在arm64平台上部署Kubernetes,而且还是鲲鹏920的架构。说来话长。。。此处省略5000字。介绍下系统信息;o架构:鲲鹏920(Kunpeng920)oOS:ope...
- 生产环境starrocks 3.1存算一体集群部署
-
集群规划FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。BE:节点负责数据存储和SQL执行。>3节点。CN:无存储功能能的BE。环境准备CPU检查JDK...
- 在CentOS上添加swap虚拟内存并设置优先级
-
现如今很多云服务器都会自己配置好虚拟内存,当然也有很多没有配置虚拟内存的,虚拟内存可以让我们的低配服务器使用更多的内存,可以减少很多硬件成本,比如我们运行很多服务的时候,内存常常会满,当配置了虚拟内存...
- 国产深度(deepin)操作系统优化指南
-
1.升级内核随着deepin版本的更新,会自动升级系统内核,但是我们依旧可以通过命令行手动升级内核,以获取更好的性能和更多的硬件支持。具体操作:-添加PPAs使用以下命令添加PPAs:```...
- postgresql-15.4 多节点主从(读写分离)
-
1、下载软件[root@TX-CN-PostgreSQL01-252software]#wgethttps://ftp.postgresql.org/pub/source/v15.4/postg...
- Docker 容器 Java 服务内存与 GC 优化实施方案
-
一、设置Docker容器内存限制(生产环境建议)1.查看宿主机可用内存bashfree-h#示例输出(假设宿主机剩余16GB可用内存)#Mem:64G...
- 虚拟内存设置、解决linux内存不够问题
-
虚拟内存设置(解决linux内存不够情况)背景介绍 Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...
- Elasticsearch性能调优(5):服务器配置选择
-
在选择elasticsearch服务器时,要尽可能地选择与当前业务量相匹配的服务器。如果服务器配置太低,则意味着需要更多的节点来满足需求,一个集群的节点太多时会增加集群管理的成本。如果服务器配置太高,...
- Es如何落地
-
一、配置准备节点类型CPU内存硬盘网络机器数操作系统data节点16C64G2000G本地SSD所有es同一可用区3(ecs)Centos7master节点2C8G200G云SSD所有es同一可用区...
- 针对Linux内存管理知识学习总结
-
现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内...
- MySQL进阶之性能优化
-
概述MySQL的性能优化,包括了服务器硬件优化、操作系统的优化、MySQL数据库配置优化、数据库表设计的优化、SQL语句优化等5个方面的优化。在进行优化之前,需要先掌握性能分析的思路和方法,找出问题,...
- Linux Cgroups(Control Groups)原理
-
LinuxCgroups(ControlGroups)是内核提供的资源分配、限制和监控机制,通过层级化进程分组实现资源的精细化控制。以下从核心原理、操作示例和版本演进三方面详细分析:一、核心原理与...
- linux 常用性能优化参数及理解
-
1.优化内核相关参数配置文件/etc/sysctl.conf配置方法直接将参数添加进文件每条一行.sysctl-a可以查看默认配置sysctl-p执行并检测是否有错误例如设置错了参数:[roo...
- 如何在 Linux 中使用 Sysctl 命令?
-
sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)