作为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!"
上面这段脚本完成的工作是,将系统和用户的备份数据分别保存在两个不同的本地磁盘disk1和disk2中,并且保留最近3天的数据,3天前的数据自动删除。主要备份的数据有/etc目录、/boot目录、/home目录、/root目录、/usr/local目录和/var/www目录。当然这里只是举个例子,凡是存放数据的重要目录,都需要进行备份。将此脚本放到系统守护进程(类似于Windows下的计划任务)crontab下,设定备份时间,即可实现定时数据备份。有关crontab的详细介绍,请阅读《Linux crontab命令》。
本文来自投稿,不代表访得立场,如若转载,请注明出处:http://www.found5.com//view/1052.html