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. 渗透测试-奇技淫巧(一)--源IP地址隐藏

    切记,切记.本文只作为技术交流,提醒各位注意网络安全,请勿用于其它用途,否则后果自付. 在很多时候,某某不希望不愿意有人溯源他的地址.他们是如何隐藏IP的? 今天来浅析下,如何隐藏源地址. 用到的工具 ...

  2. Android 源码解析之AsyncTask

    AsyncTask相信大家都不陌生,它是为了简化异步请求.更新UI操作而诞生的.使用它不仅可以完成我们的网络耗时操作,而且还可以在完成耗时操作后直接的更新我们所需要的UI组件.这使得它在android ...

  3. [原创]python之简单计算器(超详解,只有基本功能+-*/,还有括号处理)

     不想看过程的话,直接看文章最后的正式源码 作业需求及分析: 流程图 https://www.processon.com/diagraming/580c5276e4b03c844a5a9716 初期感 ...

  4. 125个工具与技术(PMBOK2008)

    名称 定义 适用场景 适用过程 专家判断 对某方面擅长的人就是专家,找专家协助就是专家判断,专家可能是顾问.干系人.PMO.团队成员 制定项目章程.制定项目管理计划.指导与管理项目执行.监控项目工作. ...

  5. Linux 格式化扩展分区(Extended)

    如果你在Linux系统中格式化磁盘时遇到如下错误,那么表示你正在格式化一个扩展分区. [root@GETTestLNX06 ~]# mkfs.ext4 /dev/sdb1   mke2fs 1.41. ...

  6. .NET系列文章——近一年文章分类整理,方便各位博友们查询学习

    由于博主今后一段时间可能会很忙(准备出书:<.NET框架设计—模式.配置.工具>,外加换了新工作),所以博客会很少更新: 在最近一年左右时间里,博主各种.NET技术类型的文章都写过,根据博 ...

  7. SQL Server自动化运维系列——关于邮件通知那点事(.Net开发人员的福利)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 邮件作为一种非常便利的预警实现方式,在及时性和易用性 ...

  8. Spring IOC/DI和AOP原理

    一 IOC/DI 1. 概念机原理 IOC: Inversion of Control(控制反转)是一种设计思想,就是容器控制应用程序所需要外部资源的创建和管理,然后将其反转给应用程序.对象及其依赖对 ...

  9. ubuntu su sudo sudo–i 区别

    sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码.不过有时间限制,Ubuntu默认为一次时长15分钟. su : 切换到某某用户模式, ...

  10. Ubuntu安装Svn,提供http访问

    安装相关package sudo apt-get install subversion subversion-tools apache2 libapache2-svn apache2-utils 创建 ...