1. #!/bin/bash
  2. #Mysql 自动备份 压缩并上传到 指定ftp
  3. #设想每天凌晨3点备份mysql
  4. #编辑crontab配置文件
  5. #00 03 * * * backupmysql.sh
  6. #压缩并以“服务器名+时间 ”命名打包文件
  7. #数据量小的情况下以mail的方式发送到指定邮箱(需要建立sendmail服务)
  8. #数据量大的情况下以ftp的方式传送到指定的ftp服务器(远程ftp需开启)
  9. #linzhanghui.blog.chinaunix.net
  10. #程序部分以伪代码方式存在。
  11. #
  12. #1.设置mysql登陆参数
  13. dbuser=root
  14. dbpassword=123456
  15. dbserver=localhost
  16. dbname=cacti
  17. dbopt=--opt
  18. backupdir=/tmp/dbbackup/
  19. #2.设置ftp具体参数
  20. ftpserver=192.168.137.3
  21. ftpuser=userlin
  22. ftppassword=passwdlin
  23. #3.设置文件备份文件名,备份文件保存天数
  24. fileprefix=lzhserver
  25. dumpfilename=$backupdir$fileprefix`date -d now +%Y%m%d`.sql
  26. newfile=$fileprefix-`date -d now +%Y%m%d`.tar.gz
  27. keepdays=7
  28. #4.写入操作到日志文件(事先需建立)
  29. logfile=/var/log/mysqlbackup.log
  30. logtmp=/var/log/mybackup.tmp
  31. #=====如果没有备份文件夹则建立之======
  32. if [ ! -d "$backupdir" ];
  33. then
  34. echo "无此文件夹,建立中..."
  35. mkdir -p $backupdir
  36. fi
  37. #=====事先删除7天之前的备份数据库文件=====
  38. echo "开始执行备份...">>$logfile
  39. echo "删除保留天数之前的备份文件...">>$logfile
  40. find $backupdir -name $fileprefix* -mtime +$keepdays -fls $logtmp -exec rm {};
  41. echo "删除的备份文件:">>$logfile
  42. cat $logtmp >>$logfile
  43. echo "删除旧备份文件成功!" >>$logfile
  44. #=====备份+打包======
  45. if [ -f $backupdir$newfile ]
  46. then
  47. echo "$newfile 备份文件存在, 备份结束 ...">>$logfile
  48. else
  49. if [ -z $dbpasswd ]
  50. then
  51. mysqldump -u$dbuser -h$dbserver $dbopt $dbname >$dumpfilename
  52. else
  53. mysqldump -u$dbuser -p$dbpasswd -h$dbserver $dbopt $dbname >$dumpfilename
  54. fi
  55. tar czvf $backupdir$newfile $dumpfilename
  56. echo "$backupdir$newfile 备份成功!+“$压缩包容量”">>$logfile
  57. fi
  58. #======以ftp方式发送=====
  59. ftp -i -n <<end_ftp
  60. open $ftpserver
  61. user $ftpuser $ftppassword
  62. lcd $backupdir
  63. hash
  64. prompt
  65. put $newfile
  66. close
  67. bye
  68. end_ftp

1122Shell脚本之利用mysqldump备份MySQL数据库的更多相关文章

  1. 利用xtrabackup备份mysql数据库

    利用xtrabackup备份mysql数据库 一.安装1.直接下载二进制文件wget http://www.percona.com/downloads/XtraBackup/XtraBackup-2. ...

  2. 利用mysqldump备份mysql

    mysqldump备份机制:通过给定的参数信息和系统表数据,来一张表一张表地获取数据并生成insert语句插入备份文件中,这样由于时间点不一致,就会导致数据不一致,然而对于一个要求强一致性的系统来说, ...

  3. mysqldump - 备份 MySQL 数据库

    参考资料 备份 备份所有数据库中的所有数据(包括系统数据库) –all-databases 通过 --all-databases 选项备份所有的数据库: mysqldump -uroot -p --a ...

  4. 利用mysqldump备份magento数据库

    在Magento开发和维护过程中,经常需要将Magento的数据库导出.导入,这些工作可以通过mysqldump这个工具来实现. 下面我来简单介绍一下mysqldump在导出导入Magento dat ...

  5. Linux自动备份MySQL数据库脚本代码

    下面这段Linux的Shell脚本用于每日自动备份MySQL数据库,可通过Linux的crontab每天定时执行 在脚本中可设置需要备份的数据库表清单,并且会将备份文件通过gzip压缩.需要注意的是, ...

  6. Linux下自动备份MySQL数据库并上传到远程FTP服务器

    Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本 说明:  1.备份MySQL数据库存放目录/var/lib/mysql下面的xshelldata数据库 ...

  7. 一个备份MySQL数据库的简单Shell脚本(转)

    Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行.我们也可以逐一敲入命令手动执行.如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反 ...

  8. [转]一个备份MySQL数据库的简单Shell脚本

    本文翻译自 iSystemAdmin 的 <A Simple Shell Script to Backup MySQL Database> Shell脚本是我们写不同类型命令的一种脚本,这 ...

  9. 一个备份mysql 数据库的脚本

    # 获取当前系统日期,格式为: 2009-2-21DATE=`date "+%F"` # 定义mysql 服务的主目录 DB_DIR=/usr # 定义备份后的路径BAK_DIR= ...

随机推荐

  1. Android 自定义线程池的实战

    前言:在上一篇文章中我们讲到了AsyncTask的基本使用.AsyncTask的封装.AsyncTask 的串行/并行线程队列.自定义线程池.线程池的快速创建方式. 对线程池不了解的同学可以先看 An ...

  2. 谷歌电子市场1--BaseFragment

    1.BaseFragment 共性 加载中加载失败数据为空加载成功 2.loadData调用 3.网络封装 请求网络获取数据缓存机制(写缓存和读缓存)解析数据请求网络前,先判断是否有缓存, 有的话就加 ...

  3. 通用的Dialog自定义dialog

    图样:

  4. 【转】Jsduck一个纯净的前端文档生成神器

    让前端程序更具可维护性,是一个老生常谈的问题,大多数时候我们都关注于应用层面的代码可维护性,如:OO.模块化.MVC,编码规范.可扩展和复用性,但这都是属于设计层面需要考虑的事情,可维护性还应包含另一 ...

  5. Android 热修复技术(1)---原理

    热修复技术分为几部分: 原理介绍 Android HotFix源码分析 自定义框架 1.Android分包MultiDex原理 首先Dex是什么东西? Dex就是Window里面的exe文件 也就是可 ...

  6. Servlet、Filter、Listener、Interceptor

    首先,JSP/Servlet规范中定义了Servlet.Filter.Listener这三种角色,并没有定义Interceptor这个角 色,Interceptor是某些MVC框架中的角色,比如Str ...

  7. OAuth2.0 四种授权模式

    OAuth2.0简单笔记(四种授权模式) 金天:坚持写东西,不是一件容易的事,换句话说其实坚持本身都不是一件容易的事.如果学习有捷径,那就是不断实践,不断积累.写笔记,其实是给自己看的,是体现积累的一 ...

  8. SQLBackupAndFTP The server principal "NT AUTHORITY\SYSTEM" is not able to access the database "xxxx"

    Windows server 2012中使用SQLBackupAndFTP备份数据库时遇到一个错误: ERROR: The server principal "NT AUTHORITY\SY ...

  9. Linux tmp目录自动清理总结

    在Linux系统中/tmp文件夹下的文件是会被清理.删除的,文件清理的规则是如何设定的呢? 以Redhat为例,这个主要是因为作业里面会调用tmpwatch命令删除那些一段时间没有访问的文件. 那么什 ...

  10. 从零自学Hadoop(08):第一个MapReduce

    阅读目录 序 数据准备 wordcount Yarn 新建MapReduce 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是 ...