当前位置:  操作系统/服务器>linux

两个备份数据库的shell脚本

    来源: 互联网  发布时间:2014-10-14

    本文导语:  备份数据库的shell脚本一 代码如下:#!/bin/bash#指定运行的脚本shell#运行脚本要给用户执行权限bakdir=/backupmonth=`date +%m`day=`date +%d`year=`date +%Y`hour=`date +%k`min=`date +%M`dirname=$year-$month-$day-$hour-$minmkdir $bakdir/$dirnamemkdir $bakdir/$dirname/confmkdi...

备份数据库的shell脚本一

代码如下:

#!/bin/bash
#指定运行的脚本shell
#运行脚本要给用户执行权限
bakdir=/backup
month=`date +%m`
day=`date +%d`
year=`date +%Y`
hour=`date +%k`
min=`date +%M`
dirname=$year-$month-$day-$hour-$min
mkdir $bakdir/$dirname
mkdir $bakdir/$dirname/conf
mkdir $bakdir/$dirname/web
mkdir $bakdir/$dirname/db
#热备份数据库
cp /opt/mysql/my.cnf $bakdir/$dirname/db/my.cnf
cd /opt/mysql
mysqldump --opt -u zhy -p --password=1986 test>$bakdir/$dirname/db/test.sql
mysqldump --opt -u zhy -p --password=1986 phpwind>$bakdir/$dirname/db/phpwind.sql
#远程拷贝的目录要有可写权限
scp -r /backup/$dirname root@10.1.1.178:/backup

数据库备份脚本shell二
代码如下:

[plain]
#!/bin/bash   
#---------------------------- 
#Target machine configuration 
#---------------------------- 
#DBUser->Database user name 
#DBPasswd->Database password ,not null 
#DBName->Database name 
#SERVER->IP address 
#---------------------------- 
DBUser=**** 
DBPasswd=**** 
DBName=***** 
SERVER=**** 

#-------------------------------- 
#The local machine configuration 
#-------------------------------- 
#LocalDBUser->Database user name 
#LocalDBPasswd->Database password,not null 
#LocalDBName->Database name 
#BackupPath->Backup path,end with '/' 
#LogFile->Log file 
#num->backup numbers 
#-------------------------------- 
LocalDBUser=** 
LocalDBPasswd=*** 
LocalDBName=**** 
BackupPath=**** 
LogFile=**** 
#num=2 -----> Has not been completed 
#------------------------------- 

#------------------------------- 
#Other configuration 
#------------------------------- 
#IgnoreTables->ignore tables,like this: 
#IgnoreTables= '--ignore-table=DBName.TableName1 --ignore-table=DBName.TableName2 .....' 
#NeedTables->need backup tables,if you want to backup all tables,please let it empty 
#like this: NeedTables='table1 table2 table3' 
#------------------------------- 
IgnoreTables='****‘  
NeedTables= 
#begin 

NewFile="$BackupPath"dbBackup$(date +%y%m%d).sql   
OldFile="$BackupPath"dbBackup$(date +%y%m%d --date='5 days ago').sql  

echo "-------------------------------------------" >> $LogFile   
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile   
echo $(date +%y%m%d --date='5 days ago') >>$LogFile 
echo "--------------------------" >> $LogFile   
#Delete Old File 
if [ -f $OldFile ]   
then   
   rm -f $OldFile >> $LogFile 2>&1   
   echo "[$OldFile]Delete Old File Success!" >> $LogFile   
else   
   echo "[$OldFile]No Old Backup File!" >> $LogFile   
fi   
if [ -f $NewFile ]   
then   
   echo "[$NewFile]The Backup File is exists,Can't Backup!" >> $LogFile  
   echo "Begin ro recover the data...."   
   mysql -u$LocalDBUser -p$LocalDBPasswd --default-character-set='utf8' $LocalDBName >$LogFile 
else   
    mysqldump -h$SERVER -u$DBUser -p$DBPasswd --default-character-set='utf8' --quick --single-transaction  $DBName  $NeedTables    $IgnoreTables  >$NewFile 
    echo "[$NewFile]Backup Success!" >> $LogFile   
fi 
echo "-------------------------------------------" 
echo "作者 陈建虹"

 


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Keepalived 能配两个虚拟ip吗,匹配两个数据库实例?
  • 让两个ORACLE数据库和平共处
  • 同一个sql语句 连接两个数据库服务器
  • 获取数据库中两个时间字段的相差天数及ABS/DATEDIFF函数应用
  • 想在页面用orcaledriver连接数据库,如何将两个zip文件引入
  • 请教大家两个数据库编程问题:
  • windows下在一台机器上安装两个MYSQL数据库的方法
  • 为什么我从数据库中取记录时最多只取两个字段,多于三个字段则报错
  • 我的数据库连接函数,为什么不能不同对两个表的查询操作.
  • 我刚学jsp没两天,写了两个jsp程序往sql server2000的数据库里添加中文数据,怎么是乱码啊,(英文好使),100分奉上!!
  • 怎样在jsp中的两个下拉列表中实现数据连动?(数据从数据库读取)
  • sqlserver 2000数据库同步 同步两个SQLServer数据库的内容
  • C++ MultiMaps 成员 swap():交换两个multimaps
  • 急!有两个char buf[]里面是两个日期(2004-08-02),怎样判断两个日期之间的天数?(只能用标准C)
  • C++ Lists(链表) 成员 merge():合并两个list
  • 一个Statement不能同时打开两个ResultSet?为了同时打开两个,可以考虑建立两个Statement?甚至两个Connection?
  • C++ Lists(链表) 成员 swap():交换两个list
  • 可以有其他两个类的实例同时调用一个java实例的两个方法吗?
  • C++ Maps 成员 swap():交换两个map
  • 两个域名,两个端口,一个服务器……
  • C++ Vectors 成员 swap():交换两个Vector
  • 你们看是不是可以这样理解:在用来进行两个对象的比较时,==操作符用来比较两个对象的引用地址,而equals()用来比较两个对象的值。
  • C++ Lists(链表) 成员 splice():合并两个list
  • 下载了jbuilder5,是rar格式的,解开后有两个文件,一个是rsc-jb5.bin,一个是rsc-jb5.cue,据说这两个文件是刻光盘的,请问谁知道怎么刻?不会用这两个文件直接安装吧?谢谢!
  • C++ Strings(字符串) 成员 swap():交换两个字符串的内容
  • 基础问题,刚学的!请教,两个日期格式变量,我要求两个日期之间的天数,怎么求?
  • C++ Strings(字符串) 成员 compare():比较两个字符串
  • 主进程有两个线程,fork子进程后复制主进程两个线程的内存么?
  • cocos2d中CCSpriteFrameCache文件同时存在两个plist的问题解决
  • 我机器上安装了linux和win2000两个系统,请问如何在两个系统之间切换。
  • linux字符模式下怎样可以运行两个任务(开两个终端)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3