Linux系统中这么方便的备份方法,你get了么?

作为一枚程序猿,常年要跟各种数据打交道,碰到操作失误、系统故障等人为因素或意外原因导致数据丢失是大概率事件,因为没有备份意识,小编我就曾碰到过辛辛苦苦码了差不多一个月的代码一下就全部丢失的情况,所以将整个系统的数据或者一部份关键数据通过一定的方法从主计算机系统的存储设备中复制到其它存储设备是非常重要的。小编平时用的最多的是Linux系统的相关备份功能,本文给大家分享一些在Linux系统中的备份方法,希望能对各位有些帮助。

数据备份之手动备份

Linux系统拥有强大的命令集,每一个命令都有很多不同的用法。我们在手动备份中主要用的两个命令是tar 和 dd。

tar命令作为最经常使用的备份工具,相信大多数人的已经用得很娴熟了,tar可以帮助我们将需要备份的文件压缩成指定的格式存储起来,也可以将压缩文件减压还原。在此就不多做赘述了。

dd是一个功能强大的UNIX工具,由Linux内核的makefile进行引导镜像,它也可以用来复制数据。下面我们讲一讲dd备份的经典用法:

1、备份整个硬盘
使用dd命令备份整个硬盘。在这个例子中,源硬盘的设备名为/dev/sda的,目标硬盘的设备名是/dev/sdb。执行dd命令,备份整个硬盘/dev/sda到同一系统的另一个硬盘/dev/sdb。如下所示:

[wangguyuan@stp1:~$]# dd if=/dev/sda of=/dev/sdb
- "if"后跟输入文件,"of"后跟输出文件。
- 上述命令在执行过程中如有任何错误都会失败。但若加入参数“CONV= NOERROR”,则即使执行过程中有错误,它也会继续复制。
- 输入文件和输出文件在执行前必须检查再三,如果两者顺序颠倒,你可能会损失所有数据。

在备份整个硬盘时,我们也可以加入sync参数来同步I/O。 如下所示:

[wangguyuan@stp1:~$]# dd if=/dev/sda of=/dev/sdb conv=noerror,sync

2、创建硬盘的镜像
使用dd命令为硬盘创建一个图像文件并将其保存在其他存储设备。这种备份方式有很多好处:一是易于使用,二是这种备份方法的速度快于其他方法的备份,也能让你更快速的恢复数据。
创建一个硬盘/dev/sdc的image命令:

[wangguyuan@stp1:~$]# dd if=/dev/sdc of=~/sdcdisk.img

 

3、恢复硬盘镜像文件
使用dd命令将硬盘的镜像文件恢复数据到另一个硬盘。如下所示:

[wangguyuan@stp1:~$]# dd if=sdcdisk.img of=/dev/sdb

sdcdisk.img文件是/dev/sdc的镜像,所以上面的命令将恢复/dev/sdc的镜像到/dev/sdb

 

4、备份分区
使用dd命令备份硬盘分区。输入文件填写分区的设备名称,输出文件填写你指定的目标路径或映像文件。 dd命令示例所示如下:

[wangguyuan@stp1:~$]# dd if=/dev/sdd of=~/partision1.img

 

本文只介绍dd命令相关备份功能,当然dd还有很多其他的用法,如销毁磁盘数据、测试硬盘的读写速度、确定硬盘的最佳块大小等,在此就不做一一列举了。

数据备份之自动备份

使用上述命令,我们可以手工备份数据,但是每天定时做这些操作可能比较繁琐,其实,Linux还为我们提供强大的工具进行自动备份,这就是cron。cron可以使我们在Linux系统中在约定的时间执行已经计划好的工作。

Linux系统中,我们可以把cron设置为开机时自动启动,也可以在需要时手动启动。cron启动后,它会读取它的所有配置文件(全局性配置文件/etc/crontab,以及每个用户的计划任务配置文件),然后cron会根据命令和执行时间来按时来调用度工作任务。

像小编我就是在设置每日凌晨5时备份我的VPSC资料:

对于cron,我们可以用crontab来编辑自己的计划。命令行下输入crontab  -e即可。

crontab配置说明:

m(Minutes):一小时中某分钟计划开始,可出现", - * /"四个字符,有效范围为0-59的整数

h(Hours):一天中某小时计划开始,可出现", - * /"四个字符,有效范围为0-23的整数

dom(DayofMonth):一个月某自然天计划开始,可出现", - * / ? L W C"八个字符,有效范围为0-31的整数

mon(Month):一年中的某自然月计划开始,可出现", - * /"四个字符,有效范围为1-12的整数

dow(DayofWeek):一周中的某天计划开始,可出现", - * / ? L C #"八个字符,有效范围为1-7的整数

 

详细说明:

每一个域都使用数字,但还可以出现如下特殊字符,它们的含义是: 
(1)*:表示匹配该域的任意值,假如在Minutes域使用*, 即表示每分钟都会触发事件。

(2)?:只能用在DayofMonth和DayofWeek两个域。它也匹配域的任意值,但实际不会。因为DayofMonth和 DayofWeek会相互影响。例如想在每月的20日触发调度,不管20日到底是星期几,则只能使用如下写法: 13 13 15 20 * ?, 其中最后一位只能用?,而不能使用*,如果使用*表示不管星期几都会触发,实际上并不是这样。 

(3)-:表示范围,例如在Minutes域使用5-20,表示从5分到20分钟每分钟触发一次 

(4)/:表示起始时间开始触发,然后每隔固定时间触发一次,例如在Minutes域使用5/20,则意味着5分钟触发一次,而25,45等分别触发一次. 

(5),:表示列出枚举值值。例如:在Minutes域使用5,20,则意味着在5和20分每分钟触发一次。 

(6)L:表示最后,只能出现在DayofWeek和DayofMonth域,如果在DayofWeek域使用5L,意味着在最后的一个星期四触发。 

(7)W: 表示有效工作日(周一到周五),只能出现在DayofMonth域,系统将在离指定日期的最近的有效工作日触发事件。

好了,关于数据备份就介绍到这里了,如果对您有帮助,请长按下方二维码关注我们的微信公众号,还有更多优质软硬件知识噢。

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 系统,可以使用 dd 命令来制作镜像备份。具体步骤如下: 1. 插入一个外部存储设备,例如 USB 或者硬盘。 2. 打开终端,使用以下命令查看你的设备名称: ``` sudo fdisk -l ``` 该命令将列出所有连接到系统的存储设备和分区,你需要找到你想要备份的设备名称,例如 `/dev/sda`。 3. 确保你的设备处于只读模式,运行以下命令: ``` sudo hdparm -r0 /dev/sda ``` 如果 hdparm 命令未安装,可以使用以下命令进行安装: ``` sudo apt-get install hdparm ``` 4. 创建一个目录来保存备份: ``` sudo mkdir /path/to/backup/folder ``` 将 `/path/to/backup/folder` 替换为你想要保存备份的目录路径。 5. 执行以下命令以制作备份: ``` sudo dd if=/dev/sda of=/path/to/backup/folder/backup.img bs=4M ``` `if` 参数指定输入文件(即要备份的设备),`of` 参数指定输出文件名(即备份文件的名称和路径),`bs` 参数指定块大小。 请注意,这个命令可能需要几个小时来完成,具体取决于你备份的设备大小。 6. 完成备份后,用以下命令卸载设备: ``` sudo umount /dev/sda ``` 现在你就可以安全地将设备拔掉了。 7. 如果你需要恢复备份,可以使用以下命令: ``` sudo dd if=/path/to/backup/folder/backup.img of=/dev/sda bs=4M ``` 这个命令将备份文件写入指定的设备。请注意,这将覆盖设备上的所有数据,因此请在执行此命令之前确保备份文件是最新的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值