引示例为Linux系统本地文件资料备份的策略,希望正在寻找备份方案的朋友提供一些参考,如果你有其它方面的备份策略,也欢迎你与大家一起来分享,点击以下链接传送门,开启分享:
http://www.ithov.com/member/article_add.php
我这里要把/home/wwwroot目录下面的所有">文件备份到/home/wwwrootbak里面,并且保存为wwwroot20121224.tar.gz的压缩文件(20121224是指备份执行时当天的日期),然后只保留最近7天的备份。
1、创建保存备份文件的路径:/home/wwwrootbak
cd /home
mkdir wwwrootbak
2、创建备份脚本文件:/home/wwwrootbak/wwwrootbak.sh
cd /home
cd wwwrootbak
touch wwwrootbak.sh
vim wwwrootbak.sh
输入以下内容:
################################################################################
#!/bin/sh
BK_DR=/home/wwwrootbak #备份文件存放路径
DB_DR=/home/wwwroot
DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份
LINUX_USER=root #系统用户名
date=` date +%Y%m%d `
tar zcvf $BK_DR/wwwroot$date.tar.gz $DB_DR
chown -R $LINUX_USER:$LINUX_USER $BK_DR #更改备份数据库文件的所有者
find $BK_DR -name "wwwroot*" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件
################################################################################
3、修改文件属性,使其可执行
chmod +x /home/wwwrootbak/wwwrootbak.sh
4、修改/etc/crontab
vi /etc/crontab
在下面添加
10 16 * * * root /home/wwwrootbak/wwwrootbak.sh
表示每天16点10钟执行备份
5、重新启动crond使设置生效
/etc/rc.d/init.d/crond restart
chkconfig crond on #设为开机启动
service crond start #启动
每天你在/home/wwwrootbak目录下面可以看到类似wwwroot20121224.tar.gz这样的压缩文件
如果需要恢复文件的时候,只需要把这个文件解压即可
解压缩tar -zxvf wwwroot20121224.tar.gz