一个简单的MySQL备份Shell脚本_Mysql

#!/bin/bash
#this is a script of mysql backup
if [ ! -d /mydata/data1/backup ] ;then
 mkdir /mydata/data1/backup
fi
cd /mydata/data1/backup
file=$(find . -type f -mtime -7 | grep .*all.sql)  #查找7天内是否有备份的文件
echo $file
if [ -z $file ] ;then
 echo "backup all databases..."
 backupfile=$(date +%F-%H-%M-%S)
 mysqldump -uroot --lock-all-tables --flush-logs --master-data=2 --all-databases > /mydata/data1/backup/"$backupfile-all.sql"
 if [ $? -eq 0 ] ;then
 echo "Accomplish,file is $backupfile-all.sql !"
 else
 echo " Failure !!! "
 fi
else                   #查找倒数第二大的二进制文件,作增量备份
 cd ..
 echo "All database backups ,now start doing incremental backups!"
    a=1
    b=1
    for file in $(ls |grep mysql-bin |grep -v index);do
        num=$(echo $file |cut -d. -f2 )
        if [ $num -gt $a ];then
            a=$num
        fi
    done
    unset num file
    num=1
    for file in $(ls |grep mysql-bin |grep -v index);do
        num=$(echo $file |cut -d. -f2 )
        if [ $num -gt $b -a $num -ne $a ] ; then
            b=$num
            tmp=$file
        fi
    done
    file1=$(echo $tmp|cut -d. -f1)
    file2=$(echo $tmp|cut -d. -f2)
    mysqlbinlog $tmp > /mydata/data1/backup/"$file1-$file2.sql"
 if [ $? -eq 0 ] ;then
 echo "Backup completed,file is "$file1-$file2.sql""
 fi
fi

说明:此脚本每七天做一次完全备份,以后每天做一次增量备份,完全备份使用mysqldump客户端工具,增量备份使用mysqlbinlog备份其二进制日志文件。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索shell脚本
, 简单
mysql备份
mysql备份脚本 shell、shell脚本操作mysql、mysql shell脚本、shell脚本连接mysql、shell执行mysql脚本,以便于您获取更多的相关知识。

时间: 2024-09-28 16:36:45

一个简单的MySQL备份Shell脚本_Mysql的相关文章

linux中mysql备份shell脚本代码_linux shell

第一步:在你的linux服务器中定义备份目录: 复制代码 代码如下: mkdir /var/lib/mysqlbackup cd /var/lib/mysqlbackup 第二步:下面是最重要的一步了,就是写定时备份脚本. 复制代码 代码如下: vi dbbackup.sh 代码文件如下 复制代码 代码如下: #!/bin/sh# mysql data backup script## use mysqldump --help,get more detail.#BakDir=/root/back/

linux下mysql如何自动备份shell脚本_linux shell

Linux 服务器上的程序每天都在更新 MySQL 数据库,于是就想起写一个 shell 脚本,结合 crontab,定时备份数据库.其实非常简单,主要就是使用 MySQL 自带的 mysqldump 命令. #!/bin/bash # Shell script to backup MySql database # To backup Nysql databases file to /backup dir and later pick up by your # script. You can s

实战模拟监控MySQL服务shell脚本小结_linux shell

1)端口判断法==>仅适合数据库本地使用 法1:if条件判断方法 [root@oldboy scripts]# cat check_db01.sh #!/bin/sh #created by oldboy #mail:oldboy521@gmail.com PortNum=`netstat -lnt|grep 3306|wc -l` if [ $PortNum -eq 1 ] then echo "mysqld is running." else echo "mysql

简单的MySQL备份与还原方法分享_Mysql

为了安全起见,需要经常对数据库作备份,或者还原.对于 MySQL 而言,最方便的方法可能就是用 phpMyAdmin 的导出.导入功能了,但如果你的数据库体积比较大,作为 Web 应用的 phpMyAdmin 可能会遭遇"超时"而操作失败.所以,学会在命令行模式下备份.还原数据库,还是很有必要的. Linux系统下 备份数据库 在 Linux 命令行模式下备份 MySQL 数据库,用的是 mysqldump 命令: mysqldump -u mysqluser -p test_db 对

操作Mysql的Shell脚本

[目录] 1.MySQL的热备份脚本 2.用FTP同步服务器 3.Keepalived的监控切换脚本 4.SVN的版本库的批量备份 5.自动监控ADSL并重拔号 6.Linux批量生成生成帐户(10月11日更新) 7.测试局域网内主机是否alive(10月11日更新) 一.MySQL的热备份脚本 这是MySQL的备份方式之一,脚本如下: #!/bin/bash PATH=/usr/local/sbin:/usr/bin:/bin # The Directory of Backup BACKDIR

linux 下RMAN备份shell脚本

       RMAN备份对于Oracle数据库的备份与恢复简单易用,成本低廉.对于使用非catalog方式而言,将RMAN脚本嵌入到shell脚本,然后再通过crontab来实现中小型数据库数据库备份无疑是首选.本文提供了一个简单易用的基于linux shell下的RMAN备份脚本供参考.大家可根据自己的需要进行适当调整.   RMAN备份相关方面的知识较多,可以参考:    RMAN 概述及其体系结构    RMAN 配置.监控与管理    RMAN 备份详解    RMAN 还原与恢复  

小型Drupal数据库备份以及大型站点MySQL备份策略分享_Mysql

中小站点简单备份策略 基于drupal的中小行网站,我们可以使用backup_migrate模块,该模块提供了定期备份的功能,备份的时间.保留多少个备份等等设置,设置好之后,定期执行cron即可备份成功. 一般的Drupal小站,我们只需使用svn即可,在服务器端,我们把备份好的数据提交到svn,就可以达到备份的目的.由于Drupal的备份模块可以设置备份保留的文件份数,因此不会造成太多的备份文件,从而导致svn很大. 下面是一个简单的备份脚本,放置到站点根目录,然后加到crontab每天执行即

linux下实现ftp自动备份shell脚本_linux shell

利用here文档 复制代码 代码如下: #!/bin/sh ftp -ivn 210.29.28.124 <<EOF user yun yun2011 lcd /home/veyun cd /home/veyun/yhb get v bye EOF 解释: -i :关闭多文件传输过程中的交互提示,所以不会再有让用户输入用户名和密码的提示 -n:阻止了初始连接时的自动登录 -v:将ftp命令设置为verbose模式,从而可以在会话时看到其中的命令 在本例中使用用户名yun和密码yun2011登录

一个简单的mysql数据库分页的程序模板

下面是一个简单的php连接mysql数据库进行数据分页显示的模版.可以按注释说明信息进行修改,里面的sql语句是可以自己改的. 注意分析和观察里面相关分页部分的代码的书写和实现的方式. <?php $link = mysql_connect('localhost', 'root', '') or die('mysql database connect error'); mysql_select_db('your database') or die('the selected database i