一个Linux下Mysql数据库的备份脚本

本文详细介绍了一个Linux数据库备份脚本的功能、设计思路以及关键代码解释。脚本每日仅备份一次指定数据库,并通过变量模块化设计实现不同数据库的备份。同时,提供了MySQL全数据库备份脚本,适用于系统迁移场景。
摘要由CSDN通过智能技术生成

一个Linux数据库 备份脚本

#
export BACKUP_PATH=/backup
export BACKUP_DATABASE=webmetadata
#
export TODAY=`date +%Y_%m_%d`
export BACKUP_FILE_PATH=$BACKUP_PATH"/"$BACKUP_DATABASE"_"$TODAY.sql
#
if [ -f "$BACKUP_FILE_PATH" ]; then
  echo You have already finished today''s backup, please see file $BACKUP_FILE_PATH.
else
  echo Begin to backup metadata database...
  mysqldump --single-transaction --quick -u root --password=xxxx $BACKUP_DATABASE > $BACKUP_FILE_PATH
  echo Ending the backup operation.
fi

 

 脚本功能:

     每天仅仅对数据库进行最多一次备份。

此脚本的设计进行了比较大的模块化,将数据库名以及存储路径名这个变化量独立出来了,仅仅需要更改这2个变化量就可以备份不同的数据库。

 

特别注意到上述脚本中两个Script string变量的累加方式:

一个Linux数据库 备份脚本

$BACKUP_PATH"/"$BACKUP_DATABASE"_"$TODAY.sql
组合时不同变量之间的常量使用""括起来进行累加。

 

而脚本行 TODAY=`date +%Y_%m_%d`   将产生形如 2011-09-30格式这样的数据。

-------------------------------------------------------------------------------------------------------------------------------------------

Linux的条件句格式形如:

if  xxx ;  then

   ...

elif  yyy;  then

  ....

else

  ....

fi

 

Mysql下面备份所有的数据库脚本:

mysqldump -u root -ptmppassword --all-databases > /tmp/all-database.sql

mysqldump -u root -p --all-databases --lock-tables=false > /opt/data/home/all-database.sql

这个可以批量作业,在系统整体迁移时非常有效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值