shell脚本:mysqlbak.sh

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH

#备份的路径
backupdir='/root/database_backup/ywapp2'

#备份的时间
time=`date +%Y%m%d_%H%M%S_%N`

#判断前一天是否备份 有则清空备份 无则直接备份

#为了不占内存 备份过程中压缩文件
files=`ls $backupdir`
if [ -z "$files" ]; then
mysqldump --opt -uroot -p'Nxy123yang' ywapp | gzip > $backupdir/ywapp_$time.sql.gz
else

#清空备份的文件
find $backupdir -name "*.gz" -type f -exec rm -rf {} \; > /dev/null 2>&1
mysqldump --opt -uroot -p'Nxy123yang' ywapp | gzip > $backupdir/ywapp_$time.sql.gz
fi

------------------------

备份好的文件格式:ywapp_20170424_203702_130408343.sql.gz

借鉴:http://www.jb51.net/article/56553.htm 中if 写法

http://www.cnblogs.com/platero/p/4021561.html 中判断文件和文件夹是否存在

-----------------------------------

myFolder=/home/test

files=`ls $myFolder`
if [ -z "$files" ]; then
     echo "Folder $myFolder is empty!"
else
     echo "Folder $myFolder is not empty."
fi
-------------------------------
 判断文件目录是否为空

http://blog.sina.com.cn/s/blog_439f80c40101fx5t.html

http://bbs.chinaunix.net/thread-4145980-1-1.html

可以参考另一种写法:

http://www.centoscn.com/shell/2014/0821/3529.html

七天清空一次备份数据

find $backupdir-name "*.tar.bz2" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1

这篇文章可以 备份多个数据库 并压缩发送送到自己的邮箱。

http://blog.csdn.net/painsonline/article/details/7717551

这篇文章也不错

http://www.centoscn.com/mysql/2016/0206/6737.html

centos7 自动定时备份mysql数据库的更多相关文章

  1. 【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件

    项目部署在服务期上之后,有了新的需求,需要每月定时备份mysql数据库的所有数据! 查找了网上的多篇文章之后,自己又对bat文件中的mysqldump语句进行改进,可以实现了不用输入密码就能自动定时备 ...

  2. centos7-每天定时备份 mysql数据库

    centos7-每天定时备份 mysql数据库 第一步:编写数据库备份脚本database_mysql_shell.sh #!/bin/bash DATE=`date +%Y%m%d%H%M` #ev ...

  3. Centos使用crontab自动定时备份mysql的脚本

    在我们网站上线之后免不了需要备份数据库,为什么要备份呢?我给大家列出了3个理由. 1.防止数据丢失 2.防止数据改错了,可以用来恢复 3.方便给客户数据 以 上几点告诉我们要经常备份,当然我今天给大家 ...

  4. linux下使用crontab定时备份MYSQL数据库的方法:

    摘要 linux下使用crontab定时备份MYSQL数据库的方法: 只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: ------------------------ ...

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

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

  6. 定时备份mysql数据库的shell脚本

    最近项目需要定时备份mysql数据库的数据,根据需求写了一份定时备份mysql数据库的脚本. -h mysql的地址  默认为localhost -P 端口号  默认为3306 -u 用户  默认为r ...

  7. 如何定时备份Mysql数据库

    1.创建备份数据库存储目录 cd data/db mkdir backup #创建存储目录 2.添加备份脚本 vim backupdb.sh #创建脚本文件 脚本内容如下: #!/bin/sh db_ ...

  8. Linux shell实现每天定时备份mysql数据库

    每天定时备份mysql数据库任务,删除指定天数前的数据,保留指定天的数据: 需求: 1,每天4点备份mysql数据: 2,为节省空间,删除超过3个月的所有备份数据: 3,删除超过7天的备份数据,保留3 ...

  9. Centos定时备份 MySQL数据库

    一.编写数据库备份脚本 backupmysql.sh #!/bin/bash # Name:bakmysql.sh # This is a ShellScript For Auto DB Backup ...

随机推荐

  1. asp.net利用HttpModule实现防sql注入和加载样式和JS文件

    1.新建一个类,实现IHttpModule接口 代码如下: public class SqlHttpModule : IHttpModule { public void Dispose() { } p ...

  2. 服务容错保护断路器Hystrix之六:缓存功能的使用

    高并发环境下如果能处理好缓存就可以有效的减小服务器的压力,Java中有许多非常好用的缓存工具,比如Redis.EHCache等,当然在Spring Cloud的Hystrix中也提供了请求缓存的功能, ...

  3. VC的function类说明 -- 继续

    我在之前的随笔中介绍了function如何保存参数,如何实现调用相关知识.对于一个函数对象或者函数指针来说,应该很容易理解.不过对于如何在function中保存类的成员函数,这个还是值得一说的. 还是 ...

  4. python:数据类型

    一.数据类型 1.数字int型 主要进行计算 bit_length() 当十进制用二进制表示时,最少使用的位数 a = 13 b = a.bit_length() print (b) 2.布尔值boo ...

  5. 一个简单的基于多进程实现并发的Socket程序

    在单进程的socket的程序的基础上,实现多进程并发效果的思路具体是:在server端开启“链接循环”,每建立一次链接就生成一个Process对象进行server-client的互动,而client端 ...

  6. 初始化ha环境下的hadoop的hdfs

    1)启动zookeeper2)启动所有的journalnode[hadoop@datanode1 ~]$ ~/hadoop-2.7.3/sbin/hadoop-daemon.sh start jour ...

  7. git知识讲解

    git初始化 1.设置名字和邮箱 git config --global user.name "zhangsan" git config --global user.email & ...

  8. UE4里的自定义深度功能

    转自:http://www.52vr.com/article-1866-1.html 随着物理渲染系统的发布,虚幻引擎4同时引进了一个新的深度缓存功能,它叫作“自定义深度”,可以用于诸如编辑器里的选择 ...

  9. 第7课 列表初始化(2)_分析initializer_list<T>的实现

    1. 初始化列表的实现 (1)当编译器看到{t1,t2…tn}时便会生成一个initializer_list<T>对象(其中的T为元素的类型),它关联到一个array<T,n> ...

  10. Linux IO多路复用 select/poll/epoll

    Select -- synchronius I/O multiplexing select, FS_SET,FD_CLR,FD_ISSET,FD_ZERO #include <sys/time. ...