码迷,mamicode.com
首页 > 数据库 > 详细

数据库备份的脚本,记录下,还需优化下

时间:2017-08-25 12:34:45      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:usr   mysqldump   bsp   com   记录   cti   out   时间   data   

由于公司数据比较重要,隔一段时间就需要备份,就写了个简单的shell来维护下。。。

#!/bin/bash
#backup database
if [ $# -ge 1 ] ; then
  databaselist=$@
else
  databaselist="dodo_account dodo_edu"
fi
 
for database in $databaselist
do
if [ ! -e /home/guimingming/backup_databases/$database ]
then 
   mkdir -p /home/guimingming/backup_databases/$database
fi
 
mysqldump --opt -hxx.xx.xx.x -u{username} -p{pwd} $database |gzip > /home/guimingming/backup_databases/$database/$database$(date +"%Y-%m-%d %H:%M:%S").sql.gz
if [ $? -eq 0 ]
then
   echo "$(date +"%Y-%m-%d %H:%M:%S") Database ---$database---  Backup Successfully Completed\r\n"
   find /home/guimingming/backup_databases/$database/ -name $database\* -ctime +1 -exec rm -rf {} \;
else
    echo "$(date +"%Y-%m-%d %H:%M:%S") Database  ---$database---  Backup unsuccessfully,please check out the reason\r\n" 
fi
 
done
 
 
#!/bin/bash 
# 假设将database_name数据库名改为database_name_2_2016_06_28 
# MyISAM直接更改数据库目录下的文件即可  
mysql -uroot  -e ‘create database if not exists database_name;‘ 
list_table=$(mysql -uroot -Nse "select table_name from information_schema.TABLES where TABLE_SCHEMA=‘database_name_2‘")  
for table in $list_table 
do
mysql -uroot -e "rename table database_name_2.$table to database_name.$table" 
done
#mysql -u root database_name_2<database_name_220160628-frm
 
 
0 3 * * 1 sh /usr/local/shell/backup_database.sh >/dev/null  2>&1
0 3 1 * *  sh /usr/local/shell/backup_database.sh  {param}>/dev/null 2>&1
 
原文:http://www.cnblogs.com/guixiaoming/p/7427076.html

数据库备份的脚本,记录下,还需优化下

标签:usr   mysqldump   bsp   com   记录   cti   out   时间   data   

原文地址:http://www.cnblogs.com/guixiaoming/p/7427076.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!