• backup daily


     1 #!/bin/bash
     2 #
     3 #This is a test in book.thanks for Richard Blum.
     4 #Please put this file to crontab,thanks.
     5 #Please touch a new configuration file.
     6 #Daily_Archive - Archive designated files & directories
     7 #
     8 ##########################################################
     9 #
    10 #Gather Current Date.the format of date is only " date +%d%m%y".
    11 #
    12 #
    13 DATE=`date +%y%m%d`
    14 #
    15 echo $DATE
    16 #Set Archive File Name
    17 #
    18 FILE=backup$DATE.tar.gz
    19 #
    20 #Set Configuration and Destination File.The configuration file include directories that you want to backup.
    21 #
    22 CONFIG_FILE=/home/ach/test/shell-practices/backup-daily.conf
    23 DESTINATION=/home/ach/backup/$FILE
    24 #
    25 ############ Main Script ##################################
    26 #
    27 #Check Backup Config file exists
    28 #
    29 if [ -f $CONFIG_FILE ] #Make sure the config file still exists.
    30 then #If it existd,do nothing but continue on.
    31 echo
    32 else    #If it doesn't exist,issue error & exit script.
    33 echo 
    34 echo "$CONFIG_FILE does not exist."
    35 echo "Backup not completed due to missing Configuration File."
    36 echo
    37 exit
    38 fi
    39 #
    40 #Build the names of all the files to backup
    41 #
    42 FILE_NO=1    #Start on Line 1 of Config File
    43 exec < $CONFIG_FILE    #Redirect Std Input to name of Config File.
    44 #
    45 read FILE_NAME #read 1st record.
    46 # 
    47 while [ $? -eq 0 ]    #Create list of files to backup
    48 do
    49 #Make sure the file or directories exists.
    50 if [ -f $FILE_NAME -o -d $FILE_NAME ]
    51 then 
    52 #If file exists, add its name to the list.
    53 FILE_LIST="$FILE_LIST $FILE_NAME"
    54 else 
    55 #If file does not exist,issue warning.
    56 echo 
    57 echo "FILE_NAME does not exist."
    58 echo "Obviously,I will not include it in this archive."
    59 echo "It is listed on line $FILE_NO of the config file."
    60 echo "Continuing to build archive list......"
    61 echo
    62 fi
    63 #
    64 FILE_NO=$[FILE_NO+1] #Increase Line/File number by one.
    65 read FILE_NAME    #read next record.
    66 done 
    67 #
    68 ############################################################
    69 #
    70 #Backup the files and compress archive
    71 #
    72 tar -czf $DESTINATION $FILE_LIST 2> /dev/null
    73 #To decompress use command : -xf (extract)
    74 #END with the backup-daily
    75 #Next is backup-hour,which will use a new method that can level directories.
    76 #
    77 #DAY=`date +%d`
    78 #MONTH=`date +%m`
    79 #TIME=`date +%M`
    80 #
    81 #mkdir -p $BASEDEST/$MONTH/$DAY
    82 #
    83 #DESTINATION=$BASEDEST/$MONTH/$DAY/$TIME.tar.gz
    84 #
    85 #
    86 #
    87 ##END
  • 相关阅读:
    idea解决Maven jar依赖冲突(四)
    代码规范:idea上添加阿里巴巴Java开发插件
    一起MySQL时间戳精度引发的血案
    JVM Code Cache空间不足,导致服务性能变慢
    通过SOFA看Java服务端如何实现运行时的模块化
    谈谈我对SOFA模块化的理解
    谈谈我对SOFA模块化的理解
    一文谈尽边缘计算
    JVM调优实战:G1中的to-space exhausted问题
    JVM调优实战:G1中的to-space exhausted问题
  • 原文地址:https://www.cnblogs.com/little-snake/p/4358834.html
Copyright © 2020-2023  润新知