#!/bin/bash 
#Shell Command For Backup MySQL Database Everyday Automatically By Crontab 
  
USER=root 
PASSWORD="admin" 
DATABASE="nansha_car_manager" 
HOSTNAME="localhost" 
  
 
BACKUP_DIR=/home/mysql_back/ #备份文件存储路径 
LOGFILE=/home/mysql_back/data_backup.log #日记文件路径 
DATE=`date '+%Y%m%d-%H%M'` #日期格式(作为文件名) 
DUMPFILE=$DATE.sql #备份文件名 
ARCHIVE=$DATE.sql.tgz #压缩文件名 
OPTIONS="-h$HOSTNAME -u$USER -p$PASSWORD $DATABASE" 
#mysqldump -help 
  
#判断备份文件存储目录是否存在,否则创建该目录 
if [ ! -d $BACKUP_DIR ] ; 
then 
        mkdir -p "$BACKUP_DIR" 
fi 
  
#开始备份之前,将备份信息头写入日记文件 
echo " " >> $LOGFILE 
echo " " >> $LOGFILE 
echo "———————————————–" >> $LOGFILE 
echo "BACKUP DATE:" $(date +"%y-%m-%d %H:%M:%S") >> $LOGFILE 
echo "———————————————– " >> $LOGFILE 
  
#切换至备份目录 
cd $BACKUP_DIR 
#使用mysqldump 命令备份制定数据库,并以格式化的时间戳命名备份文件 
mysqldump $OPTIONS > $DUMPFILE 
#判断数据库备份是否成功 
if [[ $? == 0 ]]; then 
    #创建备份文件的压缩包 
    tar czvf $ARCHIVE $DUMPFILE >> $LOGFILE 2>&1 
    #输入备份成功的消息到日记文件 
    echo “[$ARCHIVE] Backup Successful!” >> $LOGFILE 
    #删除原始备份文件,只需保 留数据库备份文件的压缩包即可 
    rm -f $DUMPFILE 
 #-ctime表示创建时间,这里表示删除创建时间为多少天之前的文件,也就是结果只保留多少天的数据
 find $BACKUP_DIR -ctime +7 -type f -name "*.tgz" -print > deleted.txt
 echo -e "delete files:\n" >> $LogFile
 #循环删除匹配到的文件
 cat deleted.txt | while read LINE
 do
  rm -rf $LINE
  echo $LINE>> $LogFile
 done
else 
    echo “Database Backup Fail!” >> $LOGFILE 
fi 
#输出备份过程结束的提醒消息 
echo “Backup Process Done”

# 写日到cron job
# crontab -e 
# */1 * * * * /home/auto_log.sh >/dev/null  2>&   #shell脚本目录

mysql备份shell脚步的更多相关文章

  1. 转CentOS — MySQL备份 Shell 脚本

    http://www.cnblogs.com/bruceleeliya/archive/2012/05/04/2482733.html 使用 mysqldump 备份数据库,通过 FTP 上传到备份服 ...

  2. linux mysql备份shell

    #!/bin/bash # Shell script to backup MySql database # Author: Henry he # Last updated: -- # crontab ...

  3. CentOS — MySQL备份 Shell 脚本

    原文链接:http://www.cnblogs.com/bruceleeliya/archive/2012/05/04/2482733.html 新建一个 Shell 脚本文件 vi /home/wo ...

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

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

  5. MySql自动备份shell

    MySql黑屏备份是每个运维工程师必备的技能,以下是MySQL自动备份脚本: #/bin/bash#This is mysql backup shell on 2019/4/28 BAKUP_DIR= ...

  6. MySQL自动备份shell脚本

    在数据库的日常维护工作中,除了保证业务的正常运行以外,就是要对数据库进行备份,以免造成数据库的丢失,从而给企业带来重大经济损失.通常备份可以按照备份时数据库状态分为热备和冷备,按照备份数据库文件的大小 ...

  7. centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数据库读写分离 双主搭建 mysql.history 第二十九节课

    centos  MySQL主从配置 ntsysv   chkconfig  setup命令  配置MySQL 主从 子shell  MySQL备份  kill命令  pid文件  discuz!论坛数 ...

  8. 备份 MySQL 的 shell 脚本(mysqldump版本) shell脚本

    #!/bin/bash # 备份 MySQL 的 shell 脚本(mysqldump版本) # 定义变量 user(数据库用户名),passwd(数据库密码),date(备份的时间标签) # dbn ...

  9. 【shell文字】mysql每日备份shell文字

    每天固定时间使用mysqldump 备份mysql数据. #!/bin/bash #每天早上4点, mysql备份数据 orangleliu #chmod 700 backup.sh #crontab ...

随机推荐

  1. 本地yum源建立

    一.openstack(ocata)本地yum源的建立: 1.配置yum缓存: vi /etc/yum.conf 把yum.conf配置改为: [main] cachedir=/var/cache/y ...

  2. dict字典常用方法总结,数据解构(解包)

    dict {'name':'holle'}字典存储大量关联型数据,可迭代的,最多只有200个键.查询数据速度非常快,符合二分查找(有100个数比如找75会先找到50然后判断,所以2^7次方7次即可找到 ...

  3. CentOS7,将文本模式改成图形界面模式

    在以前通过vi /etc/inittab,将3修改成5.但是在centOS7之后将修改的办法换掉了,执行systemctl set-default graphical.target.根据提示进行一步一 ...

  4. Linux Shell基础 通配符

    通配符 在 Bash 中,如果需要模糊匹配文件名或目录名,就要用到通配符.下面为常用的通配符. 表 1 通配符 通配符 作 用 ? 匹配一个任意字符 * 匹配 0 个或任意多个任意字符,也就是可以匹配 ...

  5. Ajax跨域请求action方法,无法传递及接收cookie信息(应用于系统登录认证及退出)解决方案

    最近的项目中涉及到了应用ajax请求后台系统登录,身份认证失败,经过不断的调试终于找到解决方案. 应用场景: 项目测试环境:前端应用HTML,js,jQuery ajax请求,部署在Apache服务器 ...

  6. 跨平台移动开发 Android使用JPush推送消息

    二话不说,直接上图,看效果 第一步在官网下载 Android Push SDK https://www.jpush.cn/sdk/android 第二步 创建注册帐号,应用 第三步  下载应用,导入l ...

  7. Vue.js学习笔记 第六篇 内置属性

    computed属性 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...

  8. MongoDB快速入门(五)- Where子句

    RDBMS Where子句等效于MongoDB 查询文档在一些条件的基础上,可以使用下面的操作 操作 语法 示例 RDBMS等效语句 Equality {<key>:<value&g ...

  9. Linux挂载第二块硬盘操作方法

    远程SSH登录上Centos服务器后,进行如下操作 提醒:挂载操作会清空数据,请确认挂载盘无数据或者未使用 第一步:列出所有已挂载磁盘 命令: disk -h [root@gluster_node1 ...

  10. MySQL锁机制和PHP锁机制

    模拟准备--如何模拟高并发访问一个脚本:apache安装文件的bin/ab.exe可以模拟并发量 -c 模拟多少并发量 -n 一共请求多少次 http://请求的脚本例如:cmd: apache安装路 ...