`
loamy
  • 浏览: 321080 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql备份脚本

    博客分类:
  • db
阅读更多

#######mysql dump###################################################
#!/bin/sh
# mysql_backup.sh: backup mysql databases and keep newest 5 days backup.
# -----------------------------
db_user="root"
db_passwd="root "
db_host="localhost"

# the directory for story your backup file.
backup_dir="/backup"

# date format for backup file (dd-mm-yyyy)
time="$(date +"%d-%m-%Y")"

# mysql, mysqldump and some other bin's path
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
MKDIR="$(which mkdir)"
RM="$(which rm)"
MV="$(which mv)"
GZIP="$(which gzip)"

#针对不同系统 ,如果环境变量都有。可以去掉

# check the directory for store backup is writeable
test ! -w $backup_dir && echo "Error: $backup_dir is un-writeable." && exit 0

# the directory for story the newest backup
test ! -d "$backup_dir" && $MKDIR "$backup_dir"

# get all databases

for db in cdn cdn_view
do
        $MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db | $GZIP -9 > "$backup_dir/$time.$db.gz"
done

#delete the oldest backup 30 days ago
find $backup_dir -name "*.gz" -mtime +30 |xargs rm -rf

exit 0;

###################################################################
##########带邮件 通知的mysqldump#####################################
#!/bin/sh
# Name:mysqlFullBackup.sh
# PS:MySQL DataBase Full Backup.
#
# Use mysqldump --help get more detail.
#
scriptsDir=`pwd`
mysqlDir=/usr/local/mysql ?
user=root
userPWD=111111
dataBackupDir=/tmp/mysqlbackup
eMailFile=$dataBackupDir/email.txt
eMail=liuyu@sohu.com
logFile=$dataBackupDir/mysqlbackup.log
DATE=`date -I`

echo "" > $eMailFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $eMailFile
cd $dataBackupDir
dumpFile=mysql_$DATE.sql
GZDumpFile=mysql_$DATE.sql.tar.gz

$mysqlDir/bin/mysqldump -u$user -p$userPWD \
--opt --default-character-set=utf8 --extended-insert=false \
--triggers -R --hex-blob --all-databases \
--flush-logs --delete-master-logs \
--delete-master-logs \
-x > $dumpFile

if [[ $? == 0 ]]; then
  tar czf $GZDumpFile $dumpFile >> $eMailFile 2>&1
  echo "BackupFileName:$GZDumpFile" >> $eMailFile
  echo "DataBase Backup Success!" >> $eMailFile
  rm -f $dumpFile

# Delete daily backup files.
  cd $dataBackupDir/daily
  rm -f *

# Delete old backup files(mtime>2).
  $scriptsDir/rmBackup.sh

# Move Backup Files To Backup Server.
  $scriptsDir/rsyncBackup.sh
    if (( !$? )); then
      echo "Move Backup Files To Backup Server Success!" >> $eMailFile
    else
      echo "Move Backup Files To Backup Server Fail!" >> $eMailFile
    fi

else
  echo "DataBase Backup Fail!" >> $emailFile
fi

echo "--------------------------------------------------------" >> $logFile
cat $eMailFile >> $logFile
cat $eMailFile | mail -s "MySQL Backup" $eMail


###################################################################
############### tar ###############################################
#!/bin/bash
#15 3 * * * /usr/local/sbin/backup.sh
#backup directory
BAK_DIR=/data/db_backup

TAR="/bin/tar"
TAR_FLAG="czvf"
#BAKup
if [ ! -d $BAK_DIR ];then
          mkdir -p $BAK_DIR
fi

COMM="$TAR $TAR_FLAG $BAK_DIR/linuxtone-`date +%Y%m%d`.tar.gz linuxtone/"
cd /data/mysql/data
eval $COMM

find $BAK_DIR -name "linuxtone-*.tar.gz" -mtime +30 |xargs rm -rf

###################################################################
###################mysqlhotcopy####################################
#!/bin/sh
DBS=`du /var/lib/mysql/linuxtone/ | awk '{ printf $1 }'`
DFS=`df /myhotco | grep myhotco | awk '{ printf $3}'`
let "DBS = $DBS / 1024"
let "DFS = $DFS / 1024"
# more than 100M free space up
if [ `expr $DBS + 100` -lt $DFS ] ; then
  echo "run mysqlhotcopy ( `expr $DFS - $DBS` ) ..."
  /usr/bin/mysqlhotcopy linuxtone --allowold --flushlog /myhotco
fi

0
0
分享到:
评论

相关推荐

    mysql备份脚本.rar

    本文将详细解析“mysql备份脚本.rar”压缩包中的内容,包括在Windows和Linux操作系统中如何利用脚本来进行MySQL数据库的备份。 1. **MySQL备份的重要性** 数据库备份是为了防止意外数据丢失,如硬件故障、软件错误...

    mysql备份脚本-按日期进行备份,并进行压缩

    ### MySQL备份脚本知识点解析 #### 一、脚本概述 该脚本主要实现了MySQL数据库的备份功能,并根据当前日期创建对应的备份文件夹与备份文件,同时对备份文件进行了压缩处理。此脚本适用于Windows环境。 #### 二、...

    Mysql备份脚本

    ### MySQL备份脚本知识点解析 #### 一、脚本概览 MySQL备份脚本是一种用于自动化备份MySQL数据库的工具。通过编写Shell脚本的方式,可以实现定期对MySQL数据库进行完整备份,确保数据的安全性与可靠性。 #### 二、...

    Linux mysql 备份脚本

    Linux 下 Mysql 备份脚本 使用 mysqldump 命令 备份数据库 单/多库备份 自定义 mysqldump 其他参数 -h -d ..... 删除超过一定时间的备份

    mysql备份脚本,非常好用

    # 热备份mysql库表,打包文件结构是"日期-库-表"。 # 选项参数: # -t[必选参数]:操作类型,backup-备份,restore-还原。 # -d[可选参数]:指定库名,库名之间用逗号隔开。 # -f[必选参数]:tar包路径,操作类型参数-t...

    Linux系统下mysql备份脚本

    ### Linux系统下MySQL备份脚本知识点详解 #### 一、脚本概述 在Linux系统中,MySQL数据库作为常用的关系型数据库管理系统之一,在数据安全性方面至关重要。对于任何依赖于数据库的应用程序来说,定期备份数据是非常...

    MySQL备份脚本MySQL备份脚本

    MySQL备份脚本

    mysql备份脚本.txt

    mysql备份脚本

    Linux下Mysql自动备份脚本

    Linux下自动备份Mysql文件shell脚本。

    mysql 备份脚本实例

    mysql 备份脚本实例,本人亲测,可以正常使用,需要根据真实路径修改相关配置

    mysql备份脚本,

    总的来说,这个MySQL备份脚本是一个实用的自动化工具,它结合了多种备份策略,并具备日志记录功能,对于Linux下的数据库维护工作具有很高的参考价值。在实际使用时,需要根据自己的环境调整参数,以确保备份的完整性...

    mysql备份脚本(bat) v1.1.zip

    MySQL备份脚本是数据库管理中不可或缺的一环,它确保了数据的安全性,可以在系统崩溃、硬件故障或意外数据丢失时恢复重要信息。本压缩包"mysql备份脚本(bat)v1.1.zip"提供了自动化的MySQL备份解决方案,特别适合...

    mysql备份脚本(bat) v1.1

    【MySQL备份脚本详解】 MySQL数据库作为世界上最流行的开源关系型数据库管理系统之一,其数据安全性和定期备份至关重要。本文将详细解析“mysql.bak.bat”这个MySQL备份脚本,以及如何结合7zip软件来实现高效、节省...

    Linux下mysql备份脚本

    Linux下mysql的增量与完全备份脚本

    Mysql_备份脚本

    根据给定的文件信息,我们可以总结出以下关于MySQL备份脚本的重要知识点: ### MySQL备份脚本概述 在IT行业中,数据安全是至关重要的,而数据备份则是保障数据安全的关键环节之一。MySQL作为广泛使用的数据库管理...

    Windows下Mysql自动备份数据脚本

    1.备份MySQL到指定的目录。 2.支持压缩备份。无需安装压缩软件支持CAB压缩备份。或者安装RAR软件,支持RAR压缩备份。 3.支持备份日志。可以了解哪些数据库没有备份成功。 4.支持保留多少次备份。也就是删除多少次...

Global site tag (gtag.js) - Google Analytics