Chinaunix首页 | 论坛 | 博客
  • 博客访问: 298445
  • 博文数量: 240
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-04 18:14
文章分类

全部博文(240)

文章存档

2017年(8)

2014年(4)

2013年(15)

2012年(4)

2011年(14)

2010年(55)

2009年(140)

我的朋友

分类: LINUX

2009-07-31 00:08:15

 
一个简单的文件增量备份脚本:
 

#!/bin/bash
# Back files and dirs for full and increment.
# backup.sh [full|inc] file1 file2 dir1 dir2 hostname-[full|inc]-date.tgz


#================================ Check Envir ===============================
MYDATE=`date +%y%m%d-%H%M`
SRCFILE=`echo $@|cut -d' ' -f2-`
DSTFILE=/backup/`hostname`-$1-$MYDATE.tgz

if ! [ -d /backup ];then mkdir /backup;fi
if [ 1 -ge $# ];then echo "Usage: $0 [full|inc] dir file ...";exit;fi
for i in $SRCFILE;do
  if ! [ -f $i ];then echo "Error: File \"$i\" is not exist, please input the right files!";exit;fi
done


#================================ Backup Action ===============================
case $1 in
 full)
    rm -f /tmp/.snapshot
    tar --wildcards --exclude *.log -g /tmp/.snapshot -zcPf $DSTFILE $SRCFILE
 ;;
 inc)
    tar --wildcards --exclude *.log -g /tmp/.snapshot -zcPf $BSTFILE $SRCFILE
 ;;
 *)
    echo "Usage: $0 [full|inc] dir file ...";exit
 ;;
esac

#================================ Check Backup ===============================
if [ -f $DSTFILE ];then
  echo "Backup Sucsess!"
  echo "You have execut a $1 backup."
  echo "You are back \"$SRCFILE\" to $DSTFILE!"
else
  echo "Error: Backup faild, pleas check it!"
fi

阅读(1175) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~