花二个小时学习了一下 shell 脚本, 做一个定时备份程序,把我的工作内容每天自动备份一次:
山寨代码如下:
#!/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
#!/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