13.5 Linux tar命令备份数据

网友投稿 492 2022-05-29

作为 linux 系统管理员,最经常使用的备份工具就是 tar 和 cpio 命令。前面在介绍备份介质时,已经使用了 tar 命令,此命令其实是一个文件打包命令,经常在备份文件的场合中使用。

使用 cpio 命令进行数据备份,请阅读《Linux提取RPM包文件(cpio命令》。

有关 tar 命令的基本用法,请阅读《Linux tar压缩命令》一节,这里不再过多赘述。下面通过 tar 命令做的一个 Web 服务器的备份脚本,详细了解 tar 命令作为备份工具时的具体用法。

以下是一个有关 Web 服务器的备份脚本:

\#!/bin/sh BAKDATE=`date +%y%m%d` DATA3=`date -d "3 days ago" +%y%m%d` osdata=/disk1 userdata=/disk2 echo "backup OS data starting" tar -zcvf /$osdata/etc.data/etc_$BAKDATE.tar.gz /etc tar -zcvf /$osdata/boot.data/boot_$BAKDATE.tar.gz /boot tar -zcvf /$osdata/home.data/home_$BAKDATE.tar.gz /home tar -zcvf /$osdata/root.data/root_$BAKDATE.tar.gz /root tar -zcvf /$userdata/usr_data/usrlocal_$BAKDATE.tar.gz /usr/local tar -zcvf /$userdata/var_www/www_$BAKDATE.tar.gz /var/www cp -r /$osdata/* /$userdata cp -r /$userdata/* /$osdata echo "Backup OS data complete!" echo "delete OS data 3 days ago" rm -rf /$osdata/etc.data/etc_$DATA3.tar.gz rm -rf /$osdata/boot.data/boot_$DATA3.tar.gz rm -rf /$osdata/home.data/home_$DATA3.tar.gz rm -rf /$osdata/root.data/root_$DATA3.tar.gz rm -rf /$osdata/usr_data/usrlocal_$DATA3.tar.gz rm -rf /$osdata/var_www/www_$DATA3.tar.gz rm -rf /$userdata/etc.data/etc_$DATA3.tar.gz rm -rf /$userdata/boot.data/boot_$DATA3.tar.gz rm -rf /$userdata/home.data/home_$DATA3.tar.gz rm -rf /$userdata/root.data/root_$DATA3.tar.gz rm -rf /$userdata/usr_data/usrlocal_$DATA3.tar.gz rm -rf /$userdata/var_www/www_$DATA3.tar.gz echo "delete cws ok!"

13.5 Linux tar命令备份数据

上面这段脚本完成的工作是,将系统和用户的备份数据分别保存在两个不同的本地磁盘 disk1 和 disk2 中,并且保留最近 3 天的数据,3 天前的数据自动删除。主要备份的数据有 /etc 目录、/boot 目录、/home 目录、/root 目录、/usr/local 目录和 /var/www 目录。当然这里只是举个例子,凡是存放数据的重要目录,都需要进行备份。

将此脚本放到系统守护进程(类似于 Windows 下的计划任务)crontab 下,设定备份时间,即可实现定时数据备份。有关 crontab 的详细介绍,请阅读《Linux crontab命令》。

Linux

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【Java 并发编程】线程简介 ( 并发类型 | 线程状态 | CPU 数据缓存 )
下一篇:mysql中使用show table status 查看表信息
相关文章