必知必会!4大数据备份命令,解锁数据安全新姿势
ahcoder 2025-04-06 13:09 73 浏览
在数据管理中,数据备份是保障数据安全的关键操作,熟练掌握各类备份命令,能有效提升数据管理效率,确保数据安全。
下面为你详细介绍常用的备份命令及其丰富的应用场景。
一、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
相关推荐
- Java程序员必备的Linux命令速查表
-
Java程序员必备的Linux命令速查表在Java开发的世界里,Linux就像一位默默支持的幕后英雄。作为一名Java开发者,掌握一些基本的Linux命令,不仅能提高工作效率,还能让你在团队中显得格外...
- Linux 命令速查手册:这 30 个高频指令,拯救 90% 的运维小白!
-
在Linux系统的世界里,命令行是强大的武器。对于运维小白而言,掌握一些高频使用的Linux命令,能极大提升工作效率,轻松应对各种系统管理任务。今天,就为大家奉上精心整理的30个Linu...
- linux磁盘管理相关命令(linux磁盘管理常用命令)
-
磁盘的使用情况会直接影响系统的性能,因此我们经常会用到以下命令,主要围绕:fdisk:磁盘分区df:文件系统的磁盘空间占用情况du:文件目录的磁盘空间占用情况查看磁盘关系lsblk查看磁盘分区情况fd...
- 第四章 Linux常用shell命令-4.5.磁盘管理
-
主要介绍一下跟磁盘管理相关命令,有比较多的内容摘抄自网络,如有侵权,请及时联系我删除:显示目前在Linux系统上的文件系统磁盘使用情况统计:df创建和维护分区表的程序:fdisk将磁盘分区或镜像挂...
- Linux新手必备:20个高效命令轻松掌握!
-
Linux基本命令使用指南在现代计算机操作系统中,Linux因其开放性、灵活性和强大的功能,广泛应用于服务器和开发环境中。作为技术人员,掌握Linux的基本命令是非常重要的。在本文中,我们将重点介绍2...
- 每日必学Linux命令:ls命令(linux命令详解之ls命令)
-
ls命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单。通过ls命令不仅可以查看linux文件...
- Linux系统dev和proc目录详解(linux dev/sr0)
-
简介:Linux系统里的/dev和/proc目录那可是相当重要的系统文件。在Linux系统中,/dev目录专门用来存放设备文件。不光有设备文件,系统里还有好多特殊功能也是通过设备的形式...
- Linux切换目录之cd命令(linux切换指定目录)
-
1.基本概念1.1命令作用当我们在Linux系统上工作时,做得相当多的一项任务就是在不同的目录之间进行切换,这时就需要用到cd命令了。cd是"changedirectory"的首...
- Linux切换目录(cd命令)(linux如何切换到目录)
-
cd命令,是ChangeDirectory的缩写,用来切换工作目录。Linux命令按照来源方式,可分为两种,分别是Shell内置命令和外部命令。所谓Shell内置命令,就是Shel...
- MongoDB数据库的快速部署和启动(mongodb的使用教程)
-
一、Mongodb介绍常见数据库介绍关系数据库RDBMS设计表结构,通过SQL语句进行操作。连表关系常见的关系型数据库:mysqloracle(商业)DB2(IBM)sqlserver(微软...
- 5分钟学会网络服务搭建,飞凌i.MX9352 + Linux 6.1实战示例
-
在“万物互联”的技术浪潮下,网络服务已成为连接物理世界与数字世界的核心纽带,它不仅赋予了终端设备“开口说话”的能力,更构建了智能设备的开发范式。本文就将以飞凌嵌入式OK-MX9352-C开发板(搭载了...
- centos安装geoserver并配置开机启动
-
前提条件:服务器已经安装了java环境一、下载下载地址:http://geoserver.org/release/maintain/下载后文件名为:geoserver-2.19.3-bin.zip二、...
- 开机启动流程(开机流程图)
-
grubandbootCentos5,6的开机启动流程grubCentos7的开机启动流程Centos5,6的开机启动流程initrd/initramfs一般存储在/boot目录下,以.img...
- Linux cron服务概述(crontab服务)
-
cron是Linux/Unix系统中一个非常重要的后台服务(守护进程),用于在预定的时间间隔自动执行命令或脚本。它使得自动化重复性任务成为可能,例如日志清理、数据备份、系统维护等。1.cron...
- CentOS 8利用rc.local进行开机自启动的配置
-
CentOS8利用rc.local进行开机自启动的配置CentOS8linux系统是不建议使用rc.local进行开机自启动的,建议创建systemdservice。我们为了方便以后多一个配置...
- 一周热门
- 最近发表
- 标签列表
-
- linux 远程 (37)
- u盘 linux (32)
- linux 登录 (34)
- linux 路径 (33)
- linux 文件命令 (35)
- linux 是什么 (35)
- linux 界面 (34)
- 查看文件 linux (35)
- linux 语言 (33)
- linux代码 (32)
- linux 查看命令 (33)
- 关闭linux (34)
- root linux (33)
- 删除文件 linux (35)
- linux 主机 (34)
- linux与 (33)
- linux 函数 (35)
- linux .ssh (35)
- cpu linux (35)
- 查看linux 系统 (32)
- linux 防火墙 (33)
- linux 手机 (32)
- linux 镜像 (34)
- linux ip地址 (34)
- linux 用户查看 (33)