zoukankan      html  css  js  c++  java
  • centos7 自动定时备份mysql数据库

    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

  • 相关阅读:
    利用pipe实现进程通信一例
    司机和售票员问题 信号signal注册一例
    HDU 1003
    HDU 1847
    HDU 1846(巴什博弈)
    《断弦》感想
    夺冠概率
    熄灯问题
    HDU 2176(Nim博弈)
    NYOJ 541
  • 原文地址:https://www.cnblogs.com/hanlong/p/6759027.html
Copyright © 2011-2022 走看看