mysql备份shell脚步

#!/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脚本目录

时间: 2024-08-08 22:07:06

mysql备份shell脚步的相关文章

转CentOS — MySQL备份 Shell 脚本

http://www.cnblogs.com/bruceleeliya/archive/2012/05/04/2482733.html 使用 mysqldump 备份数据库,通过 FTP 上传到备份服务器,同时在本地保留备份文件. 新建一个 Shell 脚本文件 vi /home/work/backup.sh 添加如下内容: #! /bin/bash SqlBakName=_u1_sql_$(date +%y%m%d).tar.gz mysqldump --user=mysql_user1 --

Shell脚步之MySql分库分表备份

前言 数据备份的重要性已经不用过多强调了.这篇文章我们就以MySQL数据进行演示如何通过Shell脚步进行MySQL数据库的分库分表备份. 要求 Linux命令要求比较熟悉,Shell脚步语法规则也要熟悉,MySQL的数据库备份命令要比较熟悉.下面也会提到,如果有不懂得希望可以自行查阅资料学习. 命令窗口查询MySQL数据库列表 上面我们就通过Linux命令窗口查询到了MySQL的数据库列表 去除MySQL自带数据库获取目标业务数据库列表,查看表列表 备注:通过过滤掉MySQL自带数据库,那么就

web服务文件更新自动同步、数据库主从复制、shell脚本实现网站代码备份和mysql备份

基搭建LAMP环境,并实践基于DNS做基于域名的虚拟主机中的环境,重新搭建一个同样的环境 要求: a)实现web服务文件更新的自动同步到另一台机器上 b)数据库实现主从复制 c)通过shell脚本实现网站源代码备份和mysql备份,备份策略包括全量备份.增量备份.差异备份 a,实现web服务文件更新的自动同步到另一台机器上: 1,在httpd服务器上建立基于FQDN的两个虚拟web站点,并创建相关目录. 2,修改测试windows主机的hosts文件,并编辑两个虚拟web站点对应的目录下的ind

linux下的mysql自动备份shell

#!/bin/bash # mysql 的备份脚本 # 备份原理: # 1 # 使用列举出所有的库; # 2 # 使用每个库,列举出每张表,除了指定忽略的库; # 3 # 使用mysqldump 导出每一张表到文件:主机名/年月日/库/表.mysqldump.sql # 4 # 验证每张表的sql文件是否包含完成标志; # 5 # 压缩每个sql文件并删除本sql文件 # 6 # 强制删除超过x天的备份文件夹全部文件 # 7 # 发送处理日志到指定email # 8 # 请配合同步工具多处服务器

mysql备份脚本(shell)

mysql数据库shell备份脚本 任何项目的运行都离不开数据,持久化数据对于一个企业尤为重要,任何时候都不可掉以轻心,下面是我自己写的一个shell脚本,用来备份数据,分享给大家. #!/bin/bash # 数据库连接信息 MY_user="" MY_pass="" MY_port="3306" # 环境变量 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/

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

每天固定时间使用mysqldump 备份mysql数据. #!/bin/bash #每天早上4点, mysql备份数据 orangleliu #chmod 700 backup.sh #crontab -e #0 4 * * * /home/erya/run/moniter/mysql_backup.sh user="radius" password="" host="localhost" db_name="radius" #

[mysql]每日备份shell脚本

每天固定时间用mysqldump 备份mysql数据. #!/bin/bash #每天早上4点, mysql备份数据 orangleliu #chmod 700 backup.sh #crontab -e #0 4 * * * /home/erya/run/moniter/mysql_backup.sh user="radius" password="" host="localhost" db_name="radius" #b

mysql定时备份shell脚本

#!/bin/bash #每天早上4点, mysql备份数据 #chmod 700 backup.sh #crontab -e #0 4 * * * /home/erya/run/moniter/mysql_backup.sh user="radius" password="" host="localhost" db_name="radius" #backup directory base_dir="/home/ba

mysql备份恢复详解

前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 实战演练 使用cp进行备份 使用mysqldump+复制BINARY LOG备份 使用lvm2快照备份数据 使用Xtrabackup备份 总结 前言 我们试着想一想, 在生产环境中什么最重要?如果我们服务器的硬件坏了可以维修或者换新, 软件问题可以修复或重新安装, 但是如果数据没了呢?这可能是最恐怖的事情了吧, 我感觉在生产环境中应该没有什么比数据跟更为重要. 那么我们该如何保证数据不丢