每天自己主动备份mysql脚本

定时运行脚本:

1、运行

crontab -e

00 00 * * * /bin/bash yourpath/mysqlbak.sh

2、打开自己主动运行文件

vi /etc/crontab

在etc中增加例如以下内容。让其自己主动运行任务。

00 00 * * * root /mysqlbak.sh

以上两个 00    00    *    *    *  为每天的凌晨自己主动运行脚本

分 时 日 月 周 命令

M: 分钟(0-59)。每分钟用*或者 */1表示

H:小时(0-23)。

(0表示0点)

D:天(1-31)。

m: 月(1-12)。

d: 一星期内的天(0~6,0为星期天)。

每五分钟运行    */5 * * * *

每小时运行      0 * * * *

每天运行        0 0 * * *

每周运行        0 0 * * 0

每月运行        0 0 1 * *

每年运行        0 0 1 1 *

重新启动cron

/etc/rc.d/init.d/crond restart

or

service crond restart

具体请看crond的wiki

http://zh.wikipedia.org/wiki/Cron

mysqlback.sh

#!/bin/bash

#功能说明:本功能用于备份数据库

#编写日期:2010/12/06

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin

export PATH

#数据库username

dbuser=’root’

#数据库password

dbpasswd=’123456′

#数据库名,能够定义多个数据库。中间以空格隔开,如:test test1 test2

dbname=’test1 test2′

#备份时间

backtime=`date +%Y%m%d%H%M%S`

#日志备份路径

logpath=’/second/backup’

#数据备份路径

datapath=’/second/backup’

#日志记录头部

echo ‘”备份时间为${backtime},备份数据库表 ${dbname} 開始” >> ${logpath}/mysqllog.log

#正式备份数据库

for table in $dbname; do

source=`mysqldump -u ${dbuser} -p${dbpasswd} ${table}> ${logpath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log;

#备份成功下面操作

if [ "$?" == 0 ];then

cd $datapath

#为节约硬盘空间,将数据库压缩

tar jcf ${table}${backtime}.tar.bz2 ${backtime}.sql > /dev/null

#删除原始文件,仅仅留压缩后文件

rm -f ${datapath}/${backtime}.sql

echo “数据库表 ${dbname} 备份成功!!” >> ${logpath}/mysqllog.log

else

#备份失败则进行下面操作

echo “数据库表 ${dbname} 备份失败!!” >> ${logpath}/mysqllog.log

fi

done

这里有一篇介绍

MySQL数据库备份的10个教程

http://www.linuxde.net/2012/03/9379.html

时间: 2024-10-14 16:48:26

每天自己主动备份mysql脚本的相关文章

完整和增量备份MySQL脚本

文档介绍本文档采用mysqldump 对数据库进行备份,mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法,mysqldump 比直接拷贝要慢些. 本文描述Mysql数据库的自动备份,包括完全备份和增量备份.其中,完全备份每周执行一次,增量备份每天都会执行.备份成功后会自动上传到FTP服务器.mysql需要开启二进制日志. 备份策略布置把脚本放到/usr/bin 目录下面(1).启用二进制日志采

debian mysql 定时自己主动备份的脚本

#!/bin/sh LOG=/var/log/mysql-backup.log # mysql db info USER_ROOT=XXXXXX USER_PWD=XXXXXXX # mysql data stored dir TODAY=`date +%F` STOREDIR=/mnt/tf-card/mysql-back/$TODAY mkdir $STOREDIR echo "*** PATH:$STOREDIR mysql-backup ***" >> $LOG #

python备份mysql脚本

今天简单的写了个python的mysql备份脚本,其实也不是很难呀.比shell简洁了很多! 开整: 注释都用英文写了,有些英语基础的朋友应该都可以看得懂了! #!/usr/bin/env python #backup the gtshop #author:ley #encoding=utf8 #date:2015-06 import os,sys,datetime,time from stat import * #mysqlbackup user User = 'root' #mysqlbac

window 平台下 备份MySQL (脚本)

@echo off echo ------------------------- echo mysql backup echo 2014.11.26 echo ------------------------- set jtkd_d=jtkd_d_%date:~0,4%%date:~5,2%%date:~8,2%.sql set jtkd_accountdb=jtkd_accountdb_%date:~0,4%%date:~5,2%%date:~8,2%.sql set jtkd_static=

Rehat一键安装mysql脚本和备份数据库脚本

Rehat一键安装mysql脚本 ##说明:适用,Rehat 5 6 7 1.运行状态,运行成功输出mysql临时密码 2.代码如下 #!/bin/bash #获取系统信息 sudo cat /etc/issue>myfile aa=sudo grep '5.' myfile bb=sudo grep '6.' myfile cc=sudo grep '7.' myfile echo $aa echo "It is a test" > myfile #获取系统信息 sudo

window下自己主动备份数据库成dmp格式的bat写法

复制以下的命令到一个txt文本文档,然后改动相应的參数为自己须要的參数,一切完毕之后,将文件保存为bat格式. 这样每次须要备份的时候仅仅须要双击一下这个bat文件.其它的都不用你了,你仅仅须要静静的等待-- </pre><pre code_snippet_id="494366" snippet_file_name="blog_20141023_4_5799611" name="code" class="plain&q

MySQL数据库定时自己主动备份脚本

Web系统.最重要的事项就是数据库的安全性和完整性. 定时做好备份,很重要.千万不要在这个问题上偷懒.假设你的关键数据丢失了.会让你欲哭无泪. 导出表结构和数据 mysqldump -uroot -pmypassword --databases fansunion --result-file=/var/www/backup/fansunion-table-and-data.sql 仅仅导出表结构 mysqldump -uroot -pmypassword --databases fansunio

Shell脚本-----自动备份Mysql数据库

脚本的整体思路 1.定义需要的变量 2.利用for循环备份需要备份的库,并以库名-当天日期.sql命名,并记录相关日志 3.建立备份当天的日期的目录,向备份的Sql文件移动到该目录 4.压缩打包该目录,以节省空间,打包成功后删除该目录 5.备份目录只备份七天的数据库,第八天删除第一天的备份,目录只会存在连续七天的备份文件 6.查找备份目录下的.log日志文件,超过七天的删除 #!/bin/bash mysql_bin=/usr/local/tdoa/mysql/bin/mysqldump use

MySQL备份数据库脚本

Windows @echo offmysqldump --add-drop-database --add-drop-table -u root -p123456 dbname > d:\db_backup\%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%_dbname.sql Linux #!/bin/shcd /usr/binDATE=`date +%Y-%m-%d`# 备份dbname数据库/usr