我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL自动备份的脚本及异地定时FTP

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL自动备份的脚本及异地定时FTP

这篇文章主要介绍“MySQL自动备份的脚本及异地定时FTP”,在日常操作中,相信很多人在MySQL自动备份的脚本及异地定时FTP问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL自动备份的脚本及异地定时FTP”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

分享个MySQL自动备份脚本、定时执行设置及Windows自动FTP。
前提环境:MySQL数据库服务器开启vsftpd,并配置合适帐号以便能被内网存储服务器FTP
第一步:编写MySQL自动执行脚本
    #!/bin/bash
    # mysql_db_backup.sh: backup mysql databases.
    #
    # Last updated: Wed Nov  9 07:01:01 CST 2011
    # ----------------------------------------------------------------------
    # This is a free shell script under GNU GPL version 2.0 or above
    # Copyright (C) 2011 Andy Yao
    # Blog:http://t.qq.com/andy_microblog
    # ----------------------------------------------------------------------
    # your mysql login information
    # db_user is mysql username
    # db_passwd is mysql password
    # db_host is mysql host
    # -----------------------------
     
    db_user="root"
    db_passwd="123456"
    db_host="192.168.1.11"
    # the directory for story your backup file.
    backup_dir="/mnt/sdb1/mysql_db_backup"
    # date format for backup file (dd-mm-yyyy)
    time="$(date +"%Y-%m-%d_%H-%M-%S")"
    file_time="$(date +"%Y-%m-%d_%H-%M-%S")"
     
    mysql_backup_path="$backup_dir/$file_time"
    mkdir $backup_dir/$file_time
    log_path="$backup_dir/$file_time.log.txt"
     
    #------------this log is for monitor ssh status
    ssh_log_path="$backup_dir/log.txt"
     
    echo "---------------------" >> $ssh_log_path
    date >> $ssh_log_path
        
    echo "-------------------------------------------------------------------------------" >> $log_path
    echo "--------------" >> $log_path
    echo "--------" >> $log_path
     
    echo "backup mysql db start" >> $log_path
    date >> $log_path
    echo "---------------------" >> $log_path
      
    #!/bin/bash
    cat /dev/null > $backup_dir/mysqlback.txt
      connmsg=`mysql -h$db_host -u$db_user -p$db_passwd $db <<EOF
      show databases;
      exit
      EOF`
      echo "$connmsg" > $backup_dir/mysqlback.txt
     
    while read line
      do
     
    if [ "$line" != "Database" ]; then
    #mysqldump -u$user -p$ps "$line" >/share/"$line".sql
     
            echo "--------" >> $log_path
            date >> $log_path
            echo "$line" >> $log_path
             
            mysqldump -h$db_host -u$db_user -p$db_passwd "$line" --lock-tables=false | gzip -9 > "$mysql_backup_path/$line.$time.sql.gz"
     
            date >> $log_path
            echo "--------" >> $log_path
     
    fi
     
    done < $backup_dir/mysqlback.txt    
     
    echo "---------------------" >> $log_path
    echo "backup mysql db stop" >> $log_path
    date >> $log_path
     
    echo "--------" >> $log_path
    echo "--------------" >> $log_path
    echo "-------------------------------------------------------------------------------" >> $log_path
     
    #------------this log is for monitor ssh status
    date >> $ssh_log_path
    echo "---------------------" >> $ssh_log_path
     
    ls -l $mysql_backup_path >> $log_path
     
    echo "--------------" >> $log_path
     
    cd $backup_dir
    du -s >> $log_path
    du -sm >> $log_path
    du -sh >> $log_path
     
    echo "--------------" >> $log_path
     
    du -h |sort -rk2 >> $log_path
     
    exit 0;

第二步:定时执行mysql备份脚本,设置crontab,这个应该不用解释吧?
[root@localhost /]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
     
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
01 7 * * * root /mysql_db_backup/mysql_db_backup_auto_db_filelist.sh
* */1 * * * root ntpdate 203.129.68.14 && hwclock -w

第三步:Windows端自动定时FTP,将下代码保存为bat,并设置计划任务
    @echo off & color 1f & title 自动FTPMYSQL备份文件
    mode con: cols=60 lines=10
    echo ==========================================================
    echo --
    echo --
    echo --            ----### 自动FTPMYSQL备份文件 ###----
    echo --
    echo --
    echo --处理中,请不要手动关闭程序窗口,
    echo --
    echo --完成后,程序会自动关闭...
     
    set xtime=%time::=%
    set xdate=%date%
    set copy_path=%xdate:~0,4%-%xdate:~5,2%-%xdate:~8,2%_07-01-01
     
    rem 指定LOG存放路径
    set log_path=c:\bat\log\ftp_mysql_copy.log.txt
     
    echo -------------------------------------- >>%log_path%
    echo -------------------- >>%log_path%
    date /t >>%log_path% & time /t >>%log_path%
    echo --开始------------------ >>%log_path%
     
    cd E:\MYSQL_BACKUP_12
    e:
    md %copy_path%
    cd %copy_path%
     
    echo open 192.168.1.11 >ftp.class="lazy" data-src
    echo username>>ftp.class="lazy" data-src
    echo password>>ftp.class="lazy" data-src
    echo cd /software/mysql_db_backup/%copy_path%/>>ftp.class="lazy" data-src
    echo pwd>>ftp.class="lazy" data-src
    echo ls>>ftp.class="lazy" data-src
    echo prompt>>ftp.class="lazy" data-src
    echo bin>>ftp.class="lazy" data-src
    echo mget *>>ftp.class="lazy" data-src
    echo bye>>ftp.class="lazy" data-src
    ftp -s:ftp.class="lazy" data-src
    del ftp.class="lazy" data-src  
     
    echo --结束------------------ >>%log_path%
    date /t >>%log_path% & time /t >>%log_path%
    echo -------------------- >>%log_path%
    echo -------------------------------------- >>%log_path%
上面的弄完后,你可以开始测试了。

到此,关于“MySQL自动备份的脚本及异地定时FTP”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL自动备份的脚本及异地定时FTP

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Shell脚本自动备份MySQL到FTP并定期清理过期备份

以前公司用的一个网上找的MySQL自动备份到FTP的Shell脚本,一直用着不错。但是问题就是随着备份文件的越来越多,不得不定期清理FTP上的老备份文件,十分的不便。实际上MySQL备份无需保留太长时间的,如果能有自动清理旧的备份文件的功能
2022-06-04

自动备份MySQL到FTP并定期清理过期备份的Shell脚本分享

这篇文章主要介绍“自动备份MySQL到FTP并定期清理过期备份的Shell脚本分享”,在日常操作中,相信很多人在自动备份MySQL到FTP并定期清理过期备份的Shell脚本分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希
2023-06-09

MySQL在Linux的自动备份脚本

以下是一个用于自动备份MySQL数据库的bash脚本示例:#!/bin/bash# MySQL数据库相关信息DB_USER="username"DB_PASSWORD="password"DB_NAME="database_name
MySQL在Linux的自动备份脚本
2024-08-16

VPS自动备份数据库到FTP的脚本代码

1)确保自己在home目录(若不是,运行:cd /home) 2)新建backup文件夹(命令:mkdir backup) 3)新建脚本backup.sh vi backup.sh 复制以下代码(复制完后:wq!要保存): #!/bin/
2022-06-04

简单的远程FTP定时备份Shell脚本分享

先说问题.公司现在有2台服务器,都是centos系统,一台本地(局域网),一台则在电信机房.因为工作需要,每天备份机房上的数据到本地,以前一直是FTP登录,然后下载到本地机器.现在则希望,利用本地的centos机器,自动备份到本地. 解决方
2022-06-04

Linux下mysql异地自动备份的方法

前言: 基本上不管是对于我们自己使用,还是给客户部署服务器,,mysql备份都是必不可少的一部分,这里给大家分享一下我是如何实现linux上做异地自动备份的。mysql_backup.sh 用于备份数据mysql_restore.sh 用于
2022-05-13

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

#!/bin/bash #Mysql autobackup shell # # #----------------set the mysql login parameters dbuser=root dbpasswd= dbserver=l
2022-06-04

自动化下载并检测ftp文件备份的shell脚本

实现代码:#!/bin/bash #ftime0=$(ll /root/hbshell/down.txt | awk '{print $7}') #ftime1=$(ll /root/hbshell/down.txt | awk '{pri
2022-06-04

CentOS下mysql定时备份的Shell脚本分享

这篇文章主要讲解了“CentOS下mysql定时备份的Shell脚本分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CentOS下mysql定时备份的Shell脚本分享”吧!1、备份语句
2023-06-09

Linux中mysql定时备份的脚本怎么写

这篇“Linux中mysql定时备份的脚本怎么写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux中mysql定时备份
2023-06-27

linux 服务器自动备份脚本的方法(mysql、附件备份)

一、创建backup.sh脚本文件#!/bin/sh SOURCE_FOLDER=/data DB_FOLDER=/data/db BACKUP_FOLDER=/data/backup TM=`date +%Y%m%d%H%M%S` ech
2022-06-04

mysql定时备份shell脚本和还原的示例

本文详细介绍了MySQL定时备份和还原的示例。备份脚本:创建备份脚本,定义备份参数,创建备份目录,使用mysqldump备份数据库,删除旧备份。设置定时任务:在crontab文件中添加命令,指定备份脚本运行频率,如每天凌晨0点。恢复脚本:创建恢复脚本,定义恢复参数,使用mysql命令导入备份文件。手动恢复:将备份文件移动到服务器,连接到MySQL,运行恢复脚本。
mysql定时备份shell脚本和还原的示例
2024-04-02

编程热搜

目录