• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    linux下自动备份MySQL数据并上传到FTP上的shell脚本
    复制代码 代码如下:

    #!/bin/bash
    #Mysql autobackup shell
    #
    #
    #----------------set the mysql login parameters
    dbuser=root
    dbpasswd=
    dbserver=localhost
    dbname=fwserver2008
    dbopt=--opt
    backupdir=/dbbackup/
    #-----------------set the FTP paramters , 0 no send to a ftp server,1 send to a ftp server
    copytoftp=1
    ftpserver=172.16.25.2
    ftpuser=linux
    ftppasswd=123456
    #----------------set the backpfile paramters
    fileprefix=fwserver
    dumpfilename=$backupdir$fileprefix`date +%F_%H%M%S`.sql
    newfile=$fileprefix-`date +%F_%H%M%S`.tar.gz
    keepdays=10
    #------------------write the operater command to log file
    logfile=/var/log/_mysqlbackup.log
    logtmp=/var/log/_mybackup.tmp

    #===============================================
    if [ ! -d $backupdir ]
    then
    echo "$backupdir is not exist, then make ..." >> $logfile
    mkdir -p $backupdir
    fi
    echo "start====================================>">>$logfile
    echo "Beginning backup `date +%F %T`" >>$logfile
    echo "Delete $keepdays days ago files ..." >>$logfile
    find $backupdir -name $fileprefix* -mtime +$keepdays -fls $logtmp -exec rm {} ;
    echo "Deleted Backup file is :">>$logfile
    cat $logtmp >>$logfile
    echo "Delete old file Success!" >>$logfile
    if [ -f $backupdir$newfile ]
    then
    echo "$newfile backup exist, backup stop ..." >>$logfile
    else
    if [ -z $dbpasswd ]
    then
    mysqldump -u$dbuser -h$dbserver $dbopt $dbname >$dumpfilename
    else
    mysqldump -u$dbuser -p$dbpasswd -h$dbserver $dbopt $dbname >$dumpfilename
    fi
    tar czvf $backupdir$newfile $dumpfilename >>$logfile 2>1
    echo "$backupdir$newfile Backup Success!" >>$logfile
    rm -fr $dumpfilename
    if [ $copytoftp = 1 ]; then
    if [ -z $ftpserver ];then
    echo "Ftp Server not set,Copy to Ftp Failed ..." >>$logfile
    exit 1
    elif [ -z $ftpuser ];then
    echo "Ftp user not set, Copy to Ftp Failed ..." >>$logfile
    exit 2
    elif [ -z $ftppasswd ]; then
    echo "Ftp password not set, Copy to Ftp Failed ..." >>$logfile
    exit 3
    else
    echo "Start copy to Ftp server ...." >> $logfile
    ftp -i -n end_ftp
    open $ftpserver
    user $ftpuser $ftppasswd
    lcd $backupdir
    hash
    prompt
    put $newfile
    close
    bye
    end_ftp
    fi
    fi
    echo "End=======================================">>$logfile
    fi
    # the end of the auto backup script
    您可能感兴趣的文章:
    • Linux ftp 命令行中下载文件get与上传文件put的命令应用详解
    • Linux下使用Shell脚本实现ftp的自动上传下载的代码小结
    • 如何在windows桌面使用ftp上传文件到linux服务器
    • linux系统mysql自动备份并使用ftp上传的方法
    • 使用Linux shell脚本实现FTP定时执行批量下载指定文件
    • 解决linux ftp匿名上传、下载开机自启问题
    上一篇:shell中1小于/dev/null 2大于1的含义
    下一篇:VPS自动备份数据库到FTP的脚本代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    linux下自动备份MySQL数据并上传到FTP上的shell脚本 linux,下,自动,备份,MySQL,