`
manbuheiniu
  • 浏览: 3342 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
最近访客 更多访客>>
社区版块
存档分类
最新评论

linux SHELL定时备份数据库并上传到指定FTP

阅读更多
网站数据备份是每一个站长必备的技能,做了数据备份可以降低网络数据被丢失的风险。数据库备份时一般有四种方法

1) 直接拷贝数据库文件(不推荐)

2) 使用mysqlhotcopy备份数据库

3) 使用mysqldump备份数据库

4) 使用主从复制机制(replication)(实现数据库实时备份)

我们今天说说使用mysqldump对数据库不停机做备份。在/root/目录下新建databasebackup.sh文件并复制下面的代码为文件内容。并修改配置信息
linux SHELL定时备份数据库并上传到指定FTP

#!/bin/sh
#!技术部分享 http://www.jishubu.net
        
# 定义变量,请根据具体情况修改
# 定义脚本目录
scriptsDir=`pwd`
        
# 定义用于备份数据库的用户名和密码
user=root
userPWD=123456
        
# 定义备份数据库名称
dbNames=(jishubu xingzhengbu shichangbu)
        
# 定义备份目录
dataBackupDir=/home/backup
        
# 定义备份日志文件
logFile=$dataBackupDir/log/mysqlbackup.log
        
# DATE=`date -I`
DATE=`date -d "now" +%Y%m%d`
        
echo `date -d "now" "+%Y-%m-%d %H:%M:%S"` > $eMailFile
        
for dbName in ${dbNames
  • }
  • do
    # 定义备份文件名
    dumpFile=$dataBackupDir/db/$dbName-$DATE.sql.gz
            
    # 使用mysqldump备份数据库,请根据具体情况设置参数
    /usr/local/mysql/bin/mysqldump -u$user -p$userPWD $dbName | gzip > $dumpFile
    if [[ $? == 0 ]]; then
    echo "DataBase Backup Success!" >> $eMailFile
    else
    echo "DataBase Backup Fail!" >> $emailFile
    fi
            
    # 写日志文件
    echo "================================" >> $logFile
    cat $eMailFile >> $logFile
    echo $dumpFile >> $logFile
            
    done
            
            
    # ftp上传备份
    for dbName in ${dbNames
  • }
  • do
    file1=$dbName-$DATE.sql.gz
            
            
    ftp -v -n 127.0.0.1<<EOF
    user jishubu 123456
    bi
    cd mysql
    lcd $dataBackupDir/db
    mput $file1
    bye
    EOF
            
    done

    本shell运行前请手动建立/home/backup/db /home/backup/log 目录。shell 运行前记得添加执行权限 chmod 777 databasebackup.sh

    修改改好后添加定时任务

    crontab -e

    01 03 * * * /root/databasebackup.sh >>/home/backup/log/crontablog.txt
    分享到:
    评论

    相关推荐

      Linux自动备份MySQL数据库并上传到FTP服务器上shell脚本

      ### Linux自动备份MySQL数据库并上传到FTP服务器上Shell脚本详解 #### 一、脚本概述 本脚本主要用于在Linux环境下实现MySQL数据库的自动备份,并将备份文件上传至指定的FTP服务器。对于需要定期备份MySQL数据库的...

      linux自动备份文件 并上传到远程服务器 脚本实现

      本文将详细介绍如何利用Shell脚本在Linux系统上实现MySQL数据库的定时自动备份,并通过FTP协议上传至远程服务器。 #### 目标需求分析 目标是开发一个脚本,该脚本能定期执行MySQL数据库的备份,并将这些备份文件...

      linux定时备份oracle自动上传 FTP

      本文主要涉及如何在Linux环境下,利用Oracle数据库的备份功能,结合FTP服务实现自动定时备份并上传到远程服务器。以下是对整个流程的详细解释: 1. **Oracle数据库备份**: - 使用`exp`命令进行Oracle数据库的逻辑...

      shell cron定时脚本 内附ftp上传 每天2点 定时导出数据 上传到指定目录

      在IT行业中,shell脚本和cron服务是Linux系统中常用的任务调度工具,用于自动化执行特定任务,例如在特定时间导出数据并将其上传至FTP服务器。在这个场景中,`unload.sh`是执行数据导出的shell脚本,而`cron.cron`则...

      CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中

      在Linux服务器管理中,定期备份是一项至关重要的任务,以防止数据丢失或系统故障。本文将详细介绍如何在CentOS操作系统中使用Shell脚...同时,通过FTP上传备份到远程服务器,提高了数据安全性,避免了单点故障的风险。

      lftp工具及数据库脚本备份ftp服务器例子.zip

      为了实现自动化,这个过程可以通过定时任务服务(如cron on Linux或Task Scheduler on Windows)来定期执行,确保数据库备份的及时性。 在压缩包"lftp工具及数据库脚本备份ftp服务器例子.zip"中,可能包含的文件有...

      (UNIX、Linux)MySql数据库全量备份和增量备份处理脚本,以及从ftp自动拷贝备份文件(完整操作,附带shell脚本)

      本文将详细介绍如何在UNIX/Linux环境下实现MySQL数据库的全量备份和增量备份,并通过Shell脚本来自动化这一过程。 #### 二、全量备份 全量备份是指备份整个数据库的所有数据,包括所有的表和表中的所有记录。这种...

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

      总结起来,这个shell脚本提供了一种有效且可自定义的方法来实现Linux系统下MySQL数据库的自动备份及FTP上传,对于系统管理员来说是一个实用的工具。在维护数据安全性的同时,也简化了日常的管理任务。

      cront和ftp包以及备份mysql的shell

      用户可以定制自己的任务计划,例如定时备份、清理日志等。Crontab由五个字段组成:分钟、小时、日期、月份和星期,每个字段都允许设定一个或多个值来定义执行时间。例如,`0 3 * * *`表示每天凌晨3点执行任务。 2. ...

      Linux Shell Scripting(linux shell编程)

      - **信号处理**:使用`trap`命令捕获信号,并指定相应的处理函数。 - **定时任务**:利用`cron`计划任务来定期执行脚本。 #### 六、实践案例 1. **备份文件或目录**: - 使用`tar`命令创建压缩存档。 - 示例...

      MySQL数据库备份与恢复

      4. **定期自动备份数据库文件并上传至FTP服务器** - 要实现数据库的定期自动备份,可以利用Linux下的cron定时任务。首先,需要在FTP服务器上创建一个具有上传权限的用户,并确保FTP服务正常运行。然后,编写shell脚...

      Linux下Oracle备份与恢复

      Linux下Oracle备份与恢复是一个关键的数据库管理任务,涉及到在Linux操作系统环境下对Oracle数据库进行备份以及在必要时进行数据恢复的过程。备份是为了防止数据丢失或损坏,而恢复则是当数据库发生故障时能够将数据...

      linux系统mysql自动备份并使用ftp上传的方法

      本篇将详细介绍如何在Linux环境下设置MySQL的自动备份,并通过FTP服务将备份文件上传至远程服务器,同时清理旧的备份文件。 首先,我们需要创建一个Shell脚本来执行备份过程。在这个示例脚本中,我们可以看到以下...

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

      【Shell脚本自动备份MySQL到FTP并定期清理过期备份】是Linux系统中常用的一种自动化运维策略,旨在提高数据安全性和管理效率。以下是对这一主题的详细解释: 1. **Shell脚本**:Shell脚本是Linux/Unix操作系统中...

      ftp&linux下imp、exp

      标题 "ftp&linux下imp、exp" 涉及到的是在Linux操作系统中使用FTP(File Transfer Protocol)进行文件传输,以及Oracle数据库的导入(imp)和导出(exp)操作。这两个工具对于数据库管理员和IT专业人员来说是至关...

      linxu通过ftp备份

      根据给定的信息,本文将详细解析如何在Linux环境下利用FTP协议进行...通过上述步骤,我们可以在Linux环境中成功实现通过FTP进行Oracle数据库的自动备份,并将其传输到远程服务器上,从而有效提高数据安全性与可靠性。

      Linux(Centos)全自动异地备份数据(WEB+Mysql).pdf

      通过Shell脚本调用lftp进行FTP文件传输和利用mysqldump进行MySQL数据库备份。 d. 使用tar工具将备份数据压缩打包。 e. 利用crontab设置定时任务,周期性自动运行备份脚本。 f. 确认备份数据是否成功上传到远程...

      linux下自动备份ORACLE

      通过以上步骤,我们可以在Linux环境下成功实现Oracle数据库的自动备份,并将备份文件定期传输到其他服务器以确保数据的安全性。这种方式不仅大大提高了数据的安全性,同时也减轻了DBA的工作负担,是现代企业IT管理中...

      MySQL自动备份

      - **执行备份**:通过`$DUMP`命令进行备份,并指定输出文件名。 - **压缩备份文件**:使用`tar`命令将备份文件压缩成`.tar.gz`格式。 - **删除未压缩文件**:删除未压缩的原始备份文件。 - **设置权限**:为压缩后的...

    Global site tag (gtag.js) - Google Analytics