#!/bin/bash
 #
 #This is a test in book.thanks for Richard Blum.
 #Please put this file to crontab,thanks.
 #Please touch a new configuration file.
 #Daily_Archive - Archive designated files & directories
 #
 ##########################################################
 #
 #Gather Current Date.the format of date is only " date +%d%m%y".
 #
 #
 DATE=`date +%y%m%d`
 #
 echo $DATE
 #Set Archive File Name
 #
 FILE=backup$DATE.tar.gz
 #
 #Set Configuration and Destination File.The configuration file include directories that you want to backup.
 #
 CONFIG_FILE=/home/ach/test/shell-practices/backup-daily.conf
 DESTINATION=/home/ach/backup/$FILE
 #
 ############ Main Script ##################################
 #
 #Check Backup Config file exists
 #
 if [ -f $CONFIG_FILE ] #Make sure the config file still exists.
 then #If it existd,do nothing but continue on.
 echo
 else    #If it doesn't exist,issue error & exit script.
 echo
 echo "$CONFIG_FILE does not exist."
 echo "Backup not completed due to missing Configuration File."
 echo
 exit
 fi
 #
 #Build the names of all the files to backup
 #
 FILE_NO=    #Start on Line  of Config File
 exec < $CONFIG_FILE    #Redirect Std Input to name of Config File.
 #
 read FILE_NAME #read 1st record.
 #
  ]    #Create list of files to backup
 do
 #Make sure the file or directories exists.
 if [ -f $FILE_NAME -o -d $FILE_NAME ]
 then
 #If file exists, add its name to the list.
 FILE_LIST="$FILE_LIST $FILE_NAME"
 else
 #If file does not exist,issue warning.
 echo
 echo "FILE_NAME does not exist."
 echo "Obviously,I will not include it in this archive."
 echo "It is listed on line $FILE_NO of the config file."
 echo "Continuing to build archive list......"
 echo
 fi
 #
 FILE_NO=$[FILE_NO+] #Increase Line/File number by one.
 read FILE_NAME    #read next record.
 done
 #
 ############################################################
 #
 #Backup the files and compress archive
 #
 > /dev/null
 #To decompress use command : -xf (extract)
 #END with the backup-daily
 #Next is backup-hour,which will use a new method that can level directories.
 #
 #DAY=`date +%d`
 #MONTH=`date +%m`
 #TIME=`date +%M`
 #
 #mkdir -p $BASEDEST/$MONTH/$DAY
 #
 #DESTINATION=$BASEDEST/$MONTH/$DAY/$TIME.tar.gz
 #
 #
 #
 ##END

backup daily的更多相关文章

  1. MySQL备份还原——AutoMySQLBackup介绍

    AutoMySQLBackup是一个开源的MySQL备份脚本.可以说它是一个轻量级的备份方案,AutoMySQLBackup的安装.配置非常简单.方便.AutoMySQLBackup的sourcefo ...

  2. mysqldump: Got error: 1142: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'accounts' when using LOCK TABLES

    AutoMySQLBackup备份时,出现mysqldump: Got error: 1142: SELECT, LOCK TABLES command denied to user 'root'@' ...

  3. Linux快速入门04-扩展知识

    这部分是快速学习的最后一部分知识,其中最重要的内容就是源码的打包和软件的安装的学习,由于个人的Linux学习目的就是自己能在阿里云Ubuntu上搭建一个简单的nodejs发布环境. Linux系列文章 ...

  4. Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录

    在日常运维工作中,对mysql数据库的备份是万分重要的,以防在数据库表丢失或损坏情况出现,可以及时恢复数据. 线上数据库备份场景:每周日执行一次全量备份,然后每天下午1点执行MySQLdump增量备份 ...

  5. centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课

    centos   shell编程6一些工作中实践脚本   nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志  直接送给bc做计算  gzip  innobacku ...

  6. MySQL在线备份与恢复工具 --> Xtrabackup

    1 Xtrabackup原理简介 xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品.  ...

  7. nagios和zabbix自定义监控脚本

    一. 自定义nagios监控脚本1. 在客户端上创建脚本/usr/local/nagios/libexec/check_disk.shvim  /usr/local/nagios/libexec/ch ...

  8. mysql数据库的增量备份和全备

    还有一种简单的方法 参考 https://blog.csdn.net/u010098331/article/details/50932064 (注意:5.6版本以上新加了gtid 功能,gtid开启之 ...

  9. 别人的Linux私房菜(21)基础系统设置与备份策略

    网络设置,手动设置IP,DHCP自动获取. 以太网协议开发出来的网卡ethN,N为数字. CentOS7对网卡命名的规则:eno代表由主板BIOS内建立的网卡,ens1由主板BIOS内建的PCI-E界 ...

随机推荐

  1. django学习<一>:安装

    这两天打算摸索下和python相关的东西,然后正好小伙伴有个关于网站的任务,就怀着好奇的心态了解了下,然后就很自然地开始涉及django的问题. 首先就是django安装的问题,想不到第一步就出问题了 ...

  2. [设计模式] javascript 之 策略模式

    策略模式说明 定义: 封装一系列的算法,使得他们之间可以相互替换,本模式使用算法独立于使用它的客户的变化. 说明:策略模式,是一种组织算法的模式,核心不在于算法,而在于组织一系列的算法,并且如何去使用 ...

  3. [译]git rebase

    rebase就是重新定义你分支的起点, 分支上的commit将生成对应的新的commit并放在你指定的新的起点commit后, 分支上的老commit将被删除. rebase就是将你的分支从一个com ...

  4. 给select添加自定义值和选项

    添加选项: document.getElementById("id_select").options.add(new Option("name", " ...

  5. glusterFS分布式文件系统的搭建

    准备工作 1.安装IBA yum install libradmacm librdmacm-devel libmlx4 infiniband-diags 2.配置IPOIB /etc/sysconfi ...

  6. 清北学堂模拟day6 圆桌游戏

    [问题描述] 有一种圆桌游戏是这样进行的:n个人围着圆桌坐成一圈,按顺时针顺序依次标号为1号至n号.对1<i<n的i来说,i号的左边是i+1号,右边是i-1号.1号的右边是n号,n号的左边 ...

  7. Java中将unix时间戳转化为正常显示时间

    在unix中时间戳是一串数字表示的,使用起来非常不方便,转化方式如下: //Convert Unix timestamp to normal date style public String Time ...

  8. Ubuntu 14 修改默认打开方式

    通过研究,有三种修改方式. 方式一: 修改路径:右上角“系统设置” -> 详细信息 -> 默认应用程序 但是,有个缺陷,可修改的项比较少. 方式二: 例如,修改pdf的打开方式,只要查看任 ...

  9. Asp.net 网站防攻击安全设置

    针对已解密的_ViewStat参数漏洞整改建议:在<system.web>下添加 <machineKey validation="3DES"/> 禁用脚本调 ...

  10. linux之awk、sed命令

    总结: 两个命令的正则表达式都用''单引号进行区分. 输出变量名用单引号,输出变量值用双引号,这个在bash脚本里一般是通用的. 在bash脚本里要使用变量值,都要加上双引号 awk用法: 参考网址: ...