我们在学习或娱乐中,我们都会备份一些需要保留的文件。为了发生数据灾难后,我们能及时的找到,处理我们所需要的文件,所以我们应该进行文件的数据资料备份。今天所要讲的就是Linux下数据资料备份的方法。
1、本机数据手工备份
Linux上有功能强大的tar命令,tar最初是为了制作磁带备份而设计的,他的作用是把文件和目录备份到磁带中,然后从磁带中提取或恢复文件。现在我们可以使用tar来备份数据到任何存储介质上。
tar命令备份数据的格式如下:
tar cvf backup.tar /home/www这个命令的含义就是将 /home/www/ 打包为 backup.tar 文件,如果我们需要压缩,则需要加上 z 命令。
使用这个命令,我们可以手工备份服务器上的数据,但是要做到定时自动备份,我们还需要借助下一个技巧。
2、本机数据自动备份
要实现自动备份,我们首先需要将 tar 命令写在脚本里。比如下面这样一个脚本:
#!/bin/sh
tar zcvf test.tar /home/www/
保存为 test.sh 并添加可执行权限,执行后,发现提示:tar: Removing leading `/' from member names
这个问题是由于脚本执行的时候默认是在用户目录下的。这样就选成了问题的存在,解决办法就是在执行 tar 之前 cd 切换到要打包的目录就可以了。
有了可以执行命令的脚本,还要能够让他定时执行,这个就要借助于计划任务了。
Linux 为我们提供了 cron 这个强大的工具,我们可以用它来实现几乎任何类型的定时触发。每个用户都有自己的 cron 配置文件,一般来说,我们都是通过 root 用户来运行 cron 任务,以保证我们能够获得足够的权限。
如果我们希望每天凌晨四点定时运行我们之前写好的脚本,我们可以通过 crontab -e 来编辑配置文件,并加入:
0 4 * * * /home/test.sh
这样,每天凌晨4点系统会自动运行这个备份脚本。
3、双机数据自动备份
从安全性上考虑来讲,将备份文件存放在宿主机器上本事是不安全的,真的在灾难性情况下,这种备份时很脆弱的,所以我们需要将数据备份到另外的一台服务器上。但是,我们这里实现的双机定时的备份,而不是实时的备份。因为实时备份(热备)对于技术的要求很高,属于商业应用级的。
双机备份,我们可以现在本机上备份文件,在将备份的文件传输到其他机器上。但是这个方法并不好,实际中也不会这么去做。
查看一些资料,有的说可以通过 Mirror 来实现双机的备份[1],但是这个还需要借助第三方的软件,我觉得并是很好的办法,因为 linux 中同时还有一个强大的工具 scp 。
同时,我们也可以考虑使用 rsync 来同步两个服务器之间的数据。通过本文的介绍,希望大家能够找到适合自己的数据资料备份方案。
【编辑推荐】