今天在做了一下 mysql 数据库备份的shell 脚本,不过开始也搞错了一点地方就是和 mongodump 的一个参数搞混乱了,希望他人看了之后不再犯错误,希望对你有所帮助。下次会给出 mongodump 的简单代码示例

#/bin/bash
td=`date "+%Y-%m-%d"` backpath=/var/www/backup/$td dbBinPath=/usr/local/mysql/bin/mysqldump echo $1 echo $2 if [ -d "$backpath" ] then rm $backpath -rf echo "备份数据库数据表" fi
mkdir -p $backpath ###如果传一个参数或者不传递参数则进行导出数据库,传递参数说明导出具体的数据库(仅仅导出数据表结构) if [ $# -lt 3 ] then if [ -z "$1" ] ### 主要是考虑到不传递参数的判断如何写 所以逻辑上调整了一下 then $dbBinPath -d test > $backpath/test.sql $dbBinPath -d drupal > $backpath/drupal.sql elif [ $1 = db -a $# = 2 ] then $dbBinPath $2 > $backpath/db_$2.sql else $dbBinPath -d $1 > $backpath/str_$1.sql fi
else #### 如果给定了两个参数则说明导出某一个数据库下的莫一个数据表 ### 不写入表的任何行信息。如果你只想得到一个表的结构的导出,这是很有用的! ###--opt ###同--quick --add-drop-table --add-locks --extended-insert --lock-tables
if [ $1 = tab_structure ] then echo "仅仅导出表结构" $dbBinPath -d $2 --add-drop-table $2 > $backpath/tb_structure_$2_$3.sql
elif [ $1 = tab_db ] then echo "仅仅导出数据表中的数据" $dbBinPath -t $2 $3 > $backpath/tb_db_$2_$3.sql
elif [ $1 = tab ] then
echo "开始执行导出数据表和数据" $dbBinPath $2 $3 > $backpath/one_db_$2_$3.sql
else
echo "参数错误" fi
fi

mysqldump 的其它操作参数可以自己研究一下....如果有什么不对的地方,朋友需要可以在我的blog中留言

或者发送邮件 Email:bieru52@aliyun.com

本文出自 “追梦” 博客,请务必保留此出处http://dreameng.blog.51cto.com/1187899/1395969

更多相关文章

  1. 存储过程,参数数量不正确bug?
  2. MySQL数据库 prompt参数详解
  3. MyBatis排序时使用order by 动态参数时需要注意,用$而不是# 用$传
  4. 如果发现自己的mysql没有充分利用CPU该关注那些参数?
  5. 解析innodb status各项参数
  6. Mysql PARTITION 数据表分区技术
  7. 如何将对象作为参数传播给函数?
  8. 如何在javascript函数中将URL编码为参数?
  9. 根据循环中的i改变函数中的参数

随机推荐

  1. anaconda tensorflow-gpu 安装简易指南
  2. IDEA使用总结
  3. 写博客的第一天,学习C语言,嗯.......就这吧
  4. bc用法
  5. linux下如何格式化NTFS分区
  6. awk用法
  7. Eclipse无法安装ADT插件的解决
  8. AWS-EC2遗失秘钥或密码如何重置密码或秘
  9. 计算机网络面试知识点(2)物理层
  10. 数据库面试题(开发者必看)