mysql备份脚本并保留7天

脚本需求:

每天备份mysql数据库,保留7天的脚本。

存放在/opt/dbbak目录中。

脚本名称为database_xxxx-xx-xx.sql

脚本内容:

#!/bin/bash
export NOW="$(date +"%Y-%m-%d")"
export DATA_DIR=/opt/dbbak
/usr/local/ywgh/mysql/bin/mysqldump --opt -uroot –p 'mypassword' ywghblog > $DATA_DIR/ywghblog/ywghblog_$NOW.sql
find $DATA_DIR/ywghblog -type f -name "*.sql" -mtime +7 -exec rm -rf {} \;

脚本解释:

首先定义一个变量NOW取当前的年月日,

在定义一个目录的变量DATA_DIR,

然后使用mysqldump命令将要备份的库备份到指定的目录,

最后使用find命令找到指定目录的sql文件,并且将7天之外的文件删除。

-mtime + 就是找到7天之外的文件

-mtime – 就是找到7天之内的文件

-exec就是执行后边的命令

请根据自己的需求修改脚本。

知识点扩展:自动备份MYSQL数据库脚本

vi dbbackup.sh在打开的编辑器输入:

#!/bin/bash
/usr/local/mysql/bin/mysqldump -uuser -ppasswd databasename > /home/wwwroot/backup/date_$(date '+%Y%m%d').sql

命令的意思是用mysqldump导出名为databasename的数据库到/home/wwwroot/backup/文件夹并命名为date_日期.sql,-u后面的是你的Mysql的用户名,-p后面的是Mysql密码,databasename是要备份数据库名字,把这三个替换成自己的。

修改权限并执行备份脚本看能否备份成功:

chmod +x dbbackup.sh
sh dbbackup.sh

如果一切检查没问题了,就创建定时任务自动备份你的数据吧,输入命令:

crontab -e

在打开的文件输入定时任务:

56 23 * * * /root/dbbackup.sh

然后按esc键后输入:wq退出编辑并保存文件。

好了,定时任务创建好了,每天23点56分备份执行dbbackup.sh备份数据库。

总结

以上所述是小编给大家介绍的mysql备份脚本并保留7天,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • 用shell写一个mysql数据备份脚本

    思路 其实很简单 写一个shell脚本通过mysql的mysqldump,将数据导出成对应的sql文件:使用linux的crontab定时运行对应脚本,将sql,文件保存到对应的目录下:可想而知,随着数据量的增加和备份的频率都会导致备份服务器的硬盘资源使用率也会直线攀升:为了解决这个问题,我们就需要,定时清理备份内容:而我还是简单的使用了个shell脚本,通过crontab定时去清理: 注意 这里有几个问题需要注意的: 通过mysqldump来导出对应的库表的sql,这样必然会造成mysql服务

  • Python Mysql自动备份脚本

    测试系统环境  Windows 2003   python 2.5.1  mysql 5.0.1 应该只适用于Win,因为调用了CMD. 增量备份,因为自用,数据库不大. 回头有了需求加上自检测,5天前的自动删除. #!/usr/bin/env python #encoding=utf-8 #Mysql auto backup #Author:   vane import os, sys, datetime reload(sys) sys.setdefaultencoding('utf-8')

  • Ubuntu Server下MySql数据库备份脚本代码

    说明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天的备份. 实现步骤: 1.创建保存备份文件的目录:/home/mysql_datacd /home #进入目录mkdir mysql_data #创建目录2.创建备份脚本文件:/home/mysql_data/

  • mysql备份脚本以及删除前5天的备份文件

    复制代码 代码如下: USER=root #数据库用户名 PASSWORD=cucrzmysql #数据库用户密码 #DATABASE=idssr #数据库名称 for DATABASE in `ls /mysql/data/mysql/ | grep idss` #数据库名称 do #WEBMASTER=849699940@qq.com #管理员邮箱地址,用以发送备份失败消息提醒 BACKUP_DIR=/mysql_bak #备份文件存储路径 LOGFILE=/mysql_bak/data_b

  • 推荐没有虚拟主机的小巧的Mysql数据库备份脚本(PHP)

    最近工作中常常需要备份远程服务器上的Mysql数据库到本机,一开始采用直接备份Mysql的data目录的办法,但由于编码不同的原因经常产生问题.后来朋友推荐我使用一个非常方便小巧的PHP程序--MyDB.一共包含三个文件: 1. mydb.php //DB类 复制代码 代码如下: <? class db{ var $linkid; var $sqlid; var $record; function db($host="",$username="",$passw

  • linux下mysql自动备份脚本代码

    脚本放在 /home/user/mysql_backup.sh crontab # crontab -l # m h dom mon dow command 28 16 * * * /home/user/mysql_backup.sh 脚本如下 复制代码 代码如下: #!/bin/sh # mysql_backup.sh: backup mysql databases and keep newest 5 days backup. # # Last updated: 20 March 2006 #

  • mysql备份脚本 mysqldump使用方法详解

    本文实例为大家分享了mysql备份脚本,供大家参考,具体内容如下 #!/bin/bash #全备方式,一般在从机上执行,适用于小中型mysql数据库 #删除15天以前备份 #作者:fafu_li #时间:2015.08.10 source /etc/profile #加载系统环境变量 source ~/.bash_profile #加载用户环境变量 set -o nounset #引用未初始化变量时退出 #set -o errexit #执行shell命令遇到错误时退出 user="root&q

  • mysql备份脚本并保留7天

    脚本需求: 每天备份mysql数据库,保留7天的脚本. 存放在/opt/dbbak目录中. 脚本名称为database_xxxx-xx-xx.sql 脚本内容: #!/bin/bash export NOW="$(date +"%Y-%m-%d")" export DATA_DIR=/opt/dbbak /usr/local/ywgh/mysql/bin/mysqldump --opt -uroot –p 'mypassword' ywghblog > $DA

  • MySQL备份脚本的写法

    前言: 数据库备份的重要性不言而喻,特别是在生产环境,任何数据的丢失都可能产生严重的后果.所以,无论什么环境,我们都应该有相应的备份策略来定时备份数据库.在 MySQL 中,比较常用的逻辑备份工具是 mysqldump,本篇文章将介绍 MySQL 定时备份的方法. 1.制定合适的备份策略 对于不同的数据库环境,我们应该考虑不同的备份策略.制定备份策略时,应考虑以下几点因素: 物理备份还是逻辑备份.这个可以由数据库大小决定,比如说小于100G用逻辑备份,大于100G用物理备份. 备份文件保留时间.

  • shell脚本定时备份MySQL数据库数据并保留指定时间

    公司用到的MySQL数据库,经常有同事通过一顿骚操作把一些关键的配置数据误删,每次恢复都要花上不少时间,于是写了个shell脚本,结合corntab每天凌晨备份数据库,并保留7天. 同样的备份脚本也可用于生产环境MySQL数据库定时备份. 环境:CentOS 7.5 / MySQL 5.7 #!/bin/sh # 数据库账号信息 DB_USER="root" DB_PWD="root" DB_HOST="127.0.0.1" DB_PORT=&q

  • linux中mysql备份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、附件备份)

    一.创建backup.sh脚本文件 #!/bin/sh SOURCE_FOLDER=/data DB_FOLDER=/data/db BACKUP_FOLDER=/data/backup TM=`date +%Y%m%d%H%M%S` echo start to dump mysql database and backup files at $TM # delete old sql backup files cd $DB_FOLDER rm -rf $DB_FOLDER/*.sql #dump

  • Mysql数据库定时备份脚本分享

    BackUpMysql.sh脚本 #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin export PATH #数据库ip DBHOST='' #数据库用户名 DBUSER='' #数据库用密码 DBPASSWD='' #需要备份的数据库,多个数据库用空格分开 DBNAME='' #备份时间 backtime=`date +%Y-%m-%d_%H%M%S` #备份路径(当前目录) BACKPA

随机推荐