#!/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. 正确使用索引(sql优化),limit分页优化,执行计划,慢日志查询

    查看表相关命令 - 查看表结构   desc 表名- 查看生成表的SQL   show create table 表名- 查看索引   show index from  表名 使用索引和不使用索引 由 ...

  2. Linux用户相关文件之密码文件

    1.文件地址: /etc/shadow ----------. 1 root root 842 10月 6 13:09 /etc/shadow 2.文件内容: xiaol_1:$6$NdCAnK3y$ ...

  3. server.xml; lineNumber: 44; columnNumber: 95; 对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾。

    url="jdbc:mysql://192.169.1.201:3306/raker?useUnicode=true&characterEncoding=UTF-8&zero ...

  4. javascript语言基础知识

    一.JavaScript语法的引入方式. 1.直接引入(在html的head中直接引入js语法) <script> js语法 </script> 2.导入文件(以导入文件的方式 ...

  5. Java - 在控制台中执行一个可执行jar

    1.Maven打包一个可执行jar: <build> <plugins> <plugin> <groupId>org.apache.maven.plug ...

  6. 3.6中的range()

    在python3中range()是这样的: >>> range(4) range(0, 4) #额,列表跑哪去了 在之前的python2中是这样的: >>> ran ...

  7. android studio的安装和卸载

    安装: (待补充) 卸载: (如何彻底卸载才能达到第二次安装不受第一次安装失败的影响呢?) 1.找到安装目录,运行卸载文件.(不用清注册表,这是和卸载mysql的不同,只要把相关的文件夹,文件清楚即可 ...

  8. PAT 天梯赛 L1-006. 连续因子 【循环】

    题目链接 https://www.patest.cn/contests/gplt/L1-006 思路 输出的连续因子 的乘积 也要是这个数的因子 就每个数先找它的单因子 然后每个单因子往上一个一个遍历 ...

  9. python 课堂笔记-for语句

    for i in range(10): print("----------",i) for j in range(10): print("world",j) i ...

  10. $SVN代码版本管理工具的使用

    SVN是一种代码版本管理工具,具有可视化的操作界面,使用简便,和git的功能类似.下面总结一下SVN的基本用法: 1.安装SVN软件,和安装一般的软件的步骤差不多,这里使用的版本是TortoiseSV ...