项目需要定时备份数据库,以下是自己的操作笔记

1.检查磁盘空间

  

# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 3.6G 34G 10% /
tmpfs 16G 0 16G 0% /dev/shm

这是我当前linux服务器的情况,至于为什么是这样子,我也不清楚(我是半路接过来的,无奈)

根据上面的信息,我就把备份文件放在/dev目录下面

2.创建备份目录

  

cd /dev
mkdir backup
cd backup

3.创建备份shell命令

vi bkDatabaseName.sh

输入如下内容

 #!/bin/bash
mysqldump -uusername -ppassword -hmysqlIp DatabaseName > /dev/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql

对备份进行压缩

mysqldump -uusername -ppassword -hmysqlIp DatabaseName | gzip > /dev/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz

注意:
把 username 替换为实际的用户名;

把 password 替换为实际的密码;

把mysqlIp替换mysql的IP;

把 DatabaseName 替换为实际的数据库名;

4.添加可执行权限

chmod u+x bkDatabaseName.sh

添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;

./bkDatabaseName.sh

5.添加定时执行任务

 # crontab
-bash: crontab: command not found

执行 crontab 命令如果报 command not found,就表明没有安装;

安装crontab请参考:http://www.cnblogs.com/dxy1451713982/p/8081569.html

添加定时任务

crontab -e
*/ * * * * /dev/backup/bkDatabaseName.sh

表示每分钟执行一次,注:对于cron表达式,建议自己百度

6.测试任务是否执行

 # tail -f /var/log/cron
Dec :: iZ2318jid47Z run-parts(/etc/cron.daily)[]: finished makewhatis.cron
Dec :: iZ2318jid47Z run-parts(/etc/cron.daily)[]: starting mlocate.cron
Dec :: iZ2318jid47Z run-parts(/etc/cron.daily)[]: finished mlocate.cron
Dec :: iZ2318jid47Z run-parts(/etc/cron.daily)[]: starting prelink
Dec :: iZ2318jid47Z run-parts(/etc/cron.daily)[]: finished prelink
Dec :: iZ2318jid47Z run-parts(/etc/cron.daily)[]: starting readahead.cron
Dec :: iZ2318jid47Z run-parts(/etc/cron.daily)[]: finished readahead.cron
Dec :: iZ2318jid47Z run-parts(/etc/cron.daily)[]: starting tmpwatch
Dec :: iZ2318jid47Z run-parts(/etc/cron.daily)[]: finished tmpwatch
Dec :: iZ2318jid47Z anacron[]: Job `cron.daily' terminated

或者去你存放备份文件的目录下查看,是否有备份文件生成;

7.备份完成后删除5天前的备份文件

find /dev/backup -name databaseName"*.sql.gz" -type f -mtime + -exec rm -rf {} \; > /dev/null >&

find /dev/backup -name databaseName"*.sql" -type f -mtime + -exec rm -rf {} \; > /dev/null >&

 

linux mysql定时备份的更多相关文章

  1. linux mysql 定时备份

    1.查看磁盘空间情况: 既然是定时备份,就要选择一个空间充足的磁盘空间,避免出现因空间不足导致备份失败,数据丢失的恶果! 存储到当前磁盘这是最简单,却是最不推荐的:服务器有多块硬盘,最好是把备份存放到 ...

  2. linux mysql 定时备份 使用crontab

    第一步:在服务器上配置备份目录代码: mkdir /var/lib/mysqlbackup cd /var/lib/mysqlbackup 第二步:编写备份脚本代码:  vi dbbackup.sh ...

  3. linux下mysql定时备份数据库

    linux下mysql定时备份数据库 (2010-10-21 12:40:17) 转载▼ 标签: 杂谈   一.用命令实现备份 首页进入mysql的bin目录 1.备份数据#mysqldump -uu ...

  4. MySQL定时备份之使用Linux下的crontab定时备份实例

    这篇文章主要介绍了使用Linux下的crontab进行MySQL定时备份的例子,需要的朋友可以参考下   复制代码代码如下: ##################################### ...

  5. Linux下定时备份MySQL数据库的Shell脚本

    Linux下定时备份MySQL数据库的Shell脚本   对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间 ...

  6. mysql定时备份任务

    简介 在生产环境上,为了避免数据的丢失,通常情况下都会定时的对数据库进行备份.而Linux的crontab指令则可以帮助我们实现对数据库定时进行备份.首先我们来简单了解crontab指令,如果你会了请 ...

  7. Navicat for MySQL定时备份数据库及数据恢复

    在做数据库修改或删除操作中,可能会导致数据错误,甚至数据库奔溃,而有效的定时备份能很好地保护数据库.本篇文章主要讲述Navicat for MySQL定时备份数据库和数据恢复等功能,同时可以定时播放电 ...

  8. mysql 定时备份bat脚本 ,方便小型服务简单快速备份mysql

    mysql定时备份bat脚本 echo 数据库为用户名为root 密码为root 数据库名为kdykt echo mysqldump 命令如果没有配置环境变量要在bin目录下执行 set " ...

  9. MySQL定时备份(全量备份+增量备份)

    MySQL 定时备份 参考 zone7_ 的 实战-MySQL定时备份系列文章 参考 zmcyu 的 mysql数据库的完整备份.差异备份.增量备份 更多binlog的学习参考马丁传奇的 MySQL的 ...

随机推荐

  1. svg snap 笔记

    路径中的字母,大写相对于左上角绝对定位,小写相对定位  M110,95,95,110M115,100,100,115   pattern 类似于图片拼贴,可以把指定位置的图案用来填充 var patt ...

  2. jQuery添加删除节点例子第十节"员工增删表"

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  3. Problem J: 求个最大值

    Problem J: 求个最大值 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 871  Solved: 663[Submit][Status][Web ...

  4. 在为知笔记中使用Markdown和思维导图

    为知笔记Wiz是一款很好的网摘和笔记工具,作为为知的忠实用户,我在为知收费后第一时间就购买了两年的授权,毕竟这么多年积累的资料都在为知上,我也习惯了使用Wiz来做些工作相关的笔记.为知笔记自带Mark ...

  5. elasticsearch地理空间操作简单操作

    创建索引库 PUT http://localhost:9200/geo { "mappings": { "poi": { "properties&qu ...

  6. 《项目架构那点儿事》——Hibernate泛型Dao,让持久层简洁起来

    [前言]hibernate作为持久层ORM技术,它对JDBC进行非常轻量级对象封装,使得我们可以随心所欲的使用面向对象的思想来操作数据 库.同时,作为后台开发的支撑,的确扮演了一个举足轻重的角色,那么 ...

  7. C#2.0中使用yield关键字简化枚举器的实现

    我们知道要使用foreach语句从客户端代码中调用迭代器,必需实现IEnumerable接口来公开枚举器,IEnumerable是用来公开枚举器的,它并不实现枚举器,要实现枚举器必需实现IEnumer ...

  8. [转载] 基于zookeeper、连接池、Failover/LoadBalance等改造Thrift 服务化

    转载自http://blog.csdn.net/zhu_tianwei/article/details/44115667 http://blog.csdn.net/column/details/sli ...

  9. 设计模式的征途—15.观察者(Observer)模式

    在日常生活中,交通信号灯指挥者日益拥挤的城市交通.红灯亮,汽车停止:绿灯亮,汽车继续前行:在这个过程中,交通信号灯是汽车的观察目标,而汽车则是观察者.随着交通信号灯的变化,汽车的行为也会随之变化,一盏 ...

  10. #postman接口测试系列:基本操作总结

    最近项目需要接口测试,所以选择了不少工具对比,最终决定使用postman进行接口测试,这个工具目前使用比较简单,但是有点还是比较多的,如下: 方便切换不同的环境进行接口测试工作,而不用修改变量或代码 ...