1122Shell脚本之利用mysqldump备份MySQL数据库
- #!/bin/bash
- #Mysql 自动备份 压缩并上传到 指定ftp
- #设想每天凌晨3点备份mysql
- #编辑crontab配置文件
- #00 03 * * * backupmysql.sh
- #压缩并以“服务器名+时间 ”命名打包文件
- #数据量小的情况下以mail的方式发送到指定邮箱(需要建立sendmail服务)
- #数据量大的情况下以ftp的方式传送到指定的ftp服务器(远程ftp需开启)
- #linzhanghui.blog.chinaunix.net
- #程序部分以伪代码方式存在。
- #
- #1.设置mysql登陆参数
- dbuser=root
- dbpassword=123456
- dbserver=localhost
- dbname=cacti
- dbopt=--opt
- backupdir=/tmp/dbbackup/
- #2.设置ftp具体参数
- ftpserver=192.168.137.3
- ftpuser=userlin
- ftppassword=passwdlin
- #3.设置文件备份文件名,备份文件保存天数
- fileprefix=lzhserver
- dumpfilename=$backupdir$fileprefix`date -d now +%Y%m%d`.sql
- newfile=$fileprefix-`date -d now +%Y%m%d`.tar.gz
- keepdays=7
- #4.写入操作到日志文件(事先需建立)
- logfile=/var/log/mysqlbackup.log
- logtmp=/var/log/mybackup.tmp
- #=====如果没有备份文件夹则建立之======
- if [ ! -d "$backupdir" ];
- then
- echo "无此文件夹,建立中..."
- mkdir -p $backupdir
- fi
- #=====事先删除7天之前的备份数据库文件=====
- echo "开始执行备份...">>$logfile
- echo "删除保留天数之前的备份文件...">>$logfile
- find $backupdir -name $fileprefix* -mtime +$keepdays -fls $logtmp -exec rm {};
- echo "删除的备份文件:">>$logfile
- cat $logtmp >>$logfile
- echo "删除旧备份文件成功!" >>$logfile
- #=====备份+打包======
- if [ -f $backupdir$newfile ]
- then
- echo "$newfile 备份文件存在, 备份结束 ...">>$logfile
- else
- if [ -z $dbpasswd ]
- then
- mysqldump -u$dbuser -h$dbserver $dbopt $dbname >$dumpfilename
- else
- mysqldump -u$dbuser -p$dbpasswd -h$dbserver $dbopt $dbname >$dumpfilename
- fi
- tar czvf $backupdir$newfile $dumpfilename
- echo "$backupdir$newfile 备份成功!+“$压缩包容量”">>$logfile
- fi
- #======以ftp方式发送=====
- ftp -i -n <<end_ftp
- open $ftpserver
- user $ftpuser $ftppassword
- lcd $backupdir
- hash
- prompt
- put $newfile
- close
- bye
- end_ftp
1122Shell脚本之利用mysqldump备份MySQL数据库的更多相关文章
- 利用xtrabackup备份mysql数据库
利用xtrabackup备份mysql数据库 一.安装1.直接下载二进制文件wget http://www.percona.com/downloads/XtraBackup/XtraBackup-2. ...
- 利用mysqldump备份mysql
mysqldump备份机制:通过给定的参数信息和系统表数据,来一张表一张表地获取数据并生成insert语句插入备份文件中,这样由于时间点不一致,就会导致数据不一致,然而对于一个要求强一致性的系统来说, ...
- mysqldump - 备份 MySQL 数据库
参考资料 备份 备份所有数据库中的所有数据(包括系统数据库) –all-databases 通过 --all-databases 选项备份所有的数据库: mysqldump -uroot -p --a ...
- 利用mysqldump备份magento数据库
在Magento开发和维护过程中,经常需要将Magento的数据库导出.导入,这些工作可以通过mysqldump这个工具来实现. 下面我来简单介绍一下mysqldump在导出导入Magento dat ...
- Linux自动备份MySQL数据库脚本代码
下面这段Linux的Shell脚本用于每日自动备份MySQL数据库,可通过Linux的crontab每天定时执行 在脚本中可设置需要备份的数据库表清单,并且会将备份文件通过gzip压缩.需要注意的是, ...
- Linux下自动备份MySQL数据库并上传到远程FTP服务器
Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本 说明: 1.备份MySQL数据库存放目录/var/lib/mysql下面的xshelldata数据库 ...
- 一个备份MySQL数据库的简单Shell脚本(转)
Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行.我们也可以逐一敲入命令手动执行.如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反 ...
- [转]一个备份MySQL数据库的简单Shell脚本
本文翻译自 iSystemAdmin 的 <A Simple Shell Script to Backup MySQL Database> Shell脚本是我们写不同类型命令的一种脚本,这 ...
- 一个备份mysql 数据库的脚本
# 获取当前系统日期,格式为: 2009-2-21DATE=`date "+%F"` # 定义mysql 服务的主目录 DB_DIR=/usr # 定义备份后的路径BAK_DIR= ...
随机推荐
- 自定义UITableView各种函数
转自:http://blog.sina.com.cn/s/blog_7e3132ca0100wyls.html 在XCode对应头文件中修改该类所继承的父类: 在对应的.m文件中添加如下代码: 这样就 ...
- Android开发4: Notification编程基础、Broadcast的使用及其静态注册、动态注册方式
前言 啦啦啦~(博主每次开篇都要卖个萌,大家是不是都厌倦了呢~) 本篇博文希望帮助大家掌握 Broadcast 编程基础,实现动态注册 Broadcast 和静态注册 Broadcast 的方式以及学 ...
- Clion 跨平台的C++ IDE
CLion 是 JetBrains 推出的全新的 C/C++ 跨平台集成开发环境. 正式版本已经发出,目前是1.0.1 http://www.jetbrains.com/clion/ http://b ...
- 利用layer的mask属性实现逐渐揭示的动画效果
github上又看到个不错的动画(https://github.com/rounak/RJImageLoader),如图: 所以就想来自己实现以下 不试不知道,这个动画还真不是看上去那么简单,我自己想 ...
- 好用的第三方控件,Xcode插件(不断更新)
第三方控件类: 1.提示框 MBProgressHUD: 是一款非常强大的.提供多种样式的提示框.使用起来简单.方便.可以在GitHub上查看具体的使用方法. https://github.com ...
- css sprite 调整大张图片中小图标的大小
直接说解决方法: 假设一张拼合好的大图大小是:900 x 1000 px (如上图) 现在想取图中左上角的河马图标,并缩小图标的大小. 正常取图: .sprite { background: url( ...
- Linux SendMail发送邮件失败诊断案例(二)
Linux上Sendmail经常由于一些配置问题,导致邮件发送失败,下面整理.收集了一些邮件发送失败.异常的案例. 案例1:在新服务器上测试sendmail发送邮件时,发现邮件发送不成功,检查/var ...
- [转载]了解Linux的进程与线程
本文转自Tim Yang的博客http://timyang.net/linux/linux-process/ .对于理解Linux的进程与线程非常有帮助.支持原创.尊重原创,分享知识! 上周碰到部署在 ...
- 使用Java实现简单串口通信
最近一门课要求编写一个上位机串口通信工具,我基于Java编写了一个带有图形界面的简单串口通信工具,下面详述一下过程,供大家参考 ^_^ 一: 首先,你需要下载一个额外的支持Java串口通信操作的jar ...
- linux 环境下安装mysql5.6
在网上找了很多博客 看着头晕眼花 各个步骤 最终功夫不负有心人 终于安装好了 特此整理分享一下 1> #yum remove mysql mysql-* //卸载原先版本的mysql 2& ...