linux 定时大包备份程序

花二个小时学习了一下 shell 脚本, 做一个定时备份程序,把我的工作内容每天自动备份一次:

 

山寨代码如下:

 

逻辑代码 复制代码  收藏代码
  1. #!/bin/sh   
  2. # Created at 2010-11-18 by Lv Chester   
  3. #   
  4. # This script is used to bakup a folter at 0'oclock every day   
  5.   
  6. #bakup folter at 11 hour 11 minute 11 seconds   
  7. bak_time="235959"  
  8.   
  9. #Init pre bakup time   
  10. pre_day="19970101"  
  11.   
  12. # Loop and check the time   
  13. while [ 1 ] ; do   
  14.   cur_date=`date +%Y%m%d`   
  15.   cur_time=`date +%H%M%S`   
  16.   loop_time=1;   
  17.   echo $cur_time   
  18.   cha=`expr  $bak_time - $cur_time`   
  19.   
  20.   if [ $cha > 30 ] ; then   
  21.      loop_time=28  
  22.   elif [ $cha > 15 ] ; then   
  23.      loop_time=12  
  24.   fi   
  25.   
  26.   #Bakup when pre day not equeue current date and current time equeue bakup time   
  27.   if [ "$cur_date" != "$pre_day" ] ; then   
  28.       if [ "$cur_time" == "$bak_time" ]; then   
  29.         echo "bak it"  
  30.         pre_day=$cur_date   
  31.       fi   
  32.   fi   
  33.   
  34.   echo " wait ${loop_time}s"  
  35.   sleep $loop_time   
  36. done  
#!/bin/sh
# Created at 2010-11-18 by Lv Chester
#
# This script is used to bakup a folter at 0'oclock every day

#bakup folter at 11 hour 11 minute 11 seconds
bak_time="235959"

#Init pre bakup time
pre_day="19970101"

# Loop and check the time
while [ 1 ] ; do
  cur_date=`date +%Y%m%d`
  cur_time=`date +%H%M%S`
  loop_time=1;
  echo $cur_time
  cha=`expr  $bak_time - $cur_time`

  if [ $cha > 30 ] ; then
     loop_time=28
  elif [ $cha > 15 ] ; then
     loop_time=12
  fi

  #Bakup when pre day not equeue current date and current time equeue bakup time
  if [ "$cur_date" != "$pre_day" ] ; then
      if [ "$cur_time" == "$bak_time" ]; then
        echo "bak it"
        pre_day=$cur_date
      fi
  fi

  echo " wait ${loop_time}s"
  sleep $loop_time
done

 

 

备份代码 复制代码  收藏代码
  1. #!/bin/sh   
  2. # Created at 2010-11-18 by Lv Chester   
  3. #   
  4. # This script is used to bakup a folter at 0'oclock every day   
  5.   
  6. filetime=`date +%Y%m%d-%H%M%S`   
  7. name="Cheser-${filetime}.bak.tar.gz"  
  8. echo $name   
  9. echo "====================BACK LOG==$filetime=================================\n"  >> baklog.txt   
  10. tar czvf $name baktest  >> baklog.txt  
#!/bin/sh
# Created at 2010-11-18 by Lv Chester
#
# This script is used to bakup a folter at 0'oclock every day

filetime=`date +%Y%m%d-%H%M%S`
name="Cheser-${filetime}.bak.tar.gz"
echo $name
echo "====================BACK LOG==$filetime=================================\n"  >> baklog.txt
tar czvf $name baktest  >> baklog.txt

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值