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

一个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

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

你可能感兴趣的:(数据库,linux,mysql,脚本,File,database)