学会使用tar备份你的Linux系统数据 (tar备份linux)
在日常的Linux系统运维中,备份是一项至关重要的任务。备份能够保障数据的安全性,避免因误操作等原因造成的数据丢失。对于Linux系统数据的备份,tar是一种简单有效的工具。本篇文章将详细介绍如何使用tar备份Linux系统数据,以及备份后的恢复操作。
1. tar的使用
tar是Linux中常用的备份工具,可以将多个文件或目录打包成一个文件。tar的常用选项如下:
c:打包文件或目录。
v:显示打包的详细过程。
f:指定备份文件的名字。
x:解压缩备份文件。
z:使用gzip进行压缩和解压缩。
j:使用bzip2进行压缩和解压缩。
例如,将目录/home/test备份到/home/test.tar.gz:
tar -zcvf /home/test.tar.gz /home/test
解释:
-z:使用gzip进行压缩。
-c:打包文件。
-v:显示详细过程。
-f:指定备份文件名。
/home/test.tar.gz:备份文件的名字及路径。
/home/test:要备份的目录。
将备份文件解压缩:
tar -zxvf /home/test.tar.gz
解释:
-z:使用gzip进行解压缩。
-x:解压缩备份文件。
-v:显示详细过程。
-f:指定备份文件名。
/home/test.tar.gz:备份文件的名字及路径。
2. 备份MySQL数据库
如果要备份MySQL数据库,我们需要知道MySQL的root用户和密码。假设要备份名为test的数据库,备份文件名为test.sql.gz:
mysqldump -uroot -p”password” test | gzip > /home/test.sql.gz
解释:
mysqldump:备份MySQL数据库。
-uroot:root用户。
-p”password”:密码,注意没有空格。
test:要备份的数据库名。
|:将输出重定向到下一条命令。
gzip:使用gzip进行压缩。
>:输出到文件。
/home/test.sql.gz:备份文件及路径。
恢复MySQL数据库:
zcat /home/test.sql.gz | mysql -uroot -p”password” test
解释:
zcat:gzip命令的管道命令。
/home/test.sql.gz:备份文件及路径。
|:将输出重定向到下一条命令。
mysql:恢复MySQL数据库。
-uroot:root用户。
-p”password”:密码,注意没有空格。
test:要恢复的数据库名。
3. 备份完整系统
如果要备份整个Linux系统,可以使用dd或parted等工具进行磁盘映像备份。备份过程需要先使用Ubuntu或CentOS Live CD引导系统。
Ubuntu:
sudo mount /dev/sda1 /mnt
sudo dd if=/dev/sda of=/mnt/sda.img bs=4096 conv=notrunc,noerror
解释:
sudo mount /dev/sda1 /mnt:挂载硬盘。
/dev/sda:要备份的硬盘。
/mnt/sda.img:备份文件及路径。
bs=4096:每4KB读入。
conv=notrunc,noerror:不截断输出,忽略读入错误。
CentOS:
sudo mount /dev/sda1 /mnt
sudo dd if=/dev/sda | gzip > /mnt/sda.img.gz
解释:
sudo mount /dev/sda1 /mnt:挂载硬盘。
/dev/sda:要备份的硬盘。
|:将输出重定向到下一条命令。
gzip:使用gzip进行压缩。
>:输出到文件。
/mnt/sda.img.gz:备份文件及路径。
恢复完整系统:
Ubuntu:
sudo mount /dev/sda1 /mnt
sudo dd if=/mnt/sda.img of=/dev/sda bs=4096 conv=notrunc,noerror
解释:
sudo mount /dev/sda1 /mnt:挂载硬盘。
/mnt/sda.img:备份文件及路径。
/dev/sda:要恢复的硬盘。
bs=4096:每4KB读入。
conv=notrunc,noerror:不截断输出,忽略读入错误。
CentOS:
sudo mount /dev/sda1 /mnt
zcat /mnt/sda.img.gz | sudo dd of=/dev/sda bs=4096 conv=notrunc,noerror
解释:
sudo mount /dev/sda1 /mnt:挂载硬盘。
zcat:gzip命令的管道命令。
/mnt/sda.img.gz:备份文件及路径。
|:将输出重定向到下一条命令。
sudo dd:使用sudo权限进行恢复。
/dev/sda:要恢复的硬盘。
bs=4096:每4KB读入。
conv=notrunc,noerror:不截断输出,忽略读入错误。
4. 结语
使用tar备份Linux系统数据是一项至关重要的工作,能够保障系统数据备份的安全性。同时在备份和恢复的过程中,我们也需要注意各种细节。本篇文章详细介绍了tar备份和恢复的方法,相信能够对Linux系统运维人员有所帮助。