开发者社区> 余二五> 正文

备份部分mysql表并上传至指定ftp服务器目录中

简介:
+关注继续查看

前几天领导安排了一个任务,让写一个脚本备份某mysql数据库中的部分表,并要将备份好的文件上传至某ftp服务器中,于是就有了以下的脚本


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash
#Filename:mysqldump.sh
#Function:backup a part of tables from mysql databases then package it and put it to ftp server
#Author:Forgotten Love
#Date:2016-12-15
 
basedir=/root/backup
curdate=$(/bin/date +%Y%m%d)
FTPIP=192.168.7.500
FULLNAME=${basedir}/mysqldump_${curdate}.tar.gz
DESTDIR=/OPS/backup
local_filename=$(/bin/basename $FULLNAME)
DESTFILE=${DESTDIR}/$local_filename
 
ftpput(){
ftp -i -n <<EOF
    open $FTPIP
    user username password
    bin
    Passive
    cd $DESTDIR
    put $FULLNAME $DESTFILE
    quit
EOF
}
    #put $FULLNAME $DESTFILE
 
#backup all tables
echo "##################################backuping tables#####################################"
for tablename in bond institution;do
    mysqldump -uroot -pgamma23$ ss_product $tablename > ${basedir}/${tablename}_$curdate
done
 
#backup a part of tables
mysqldump -uroot -pgamma23$ ss_product qb_bond_deal -w "create_time" > ${basedir}/qb_bond_deal_$curdate
 
echo "##################################packaging file#######################################"
cd $basedir
/bin/tar zcf mysqldump_${curdate}.tar.gz [biq]*_$curdate
 
echo "##################################putting file#########################################"
if [ -f mysqldump_${curdate}.tar.gz ];then
    ftpput &>/dev/null
fi
echo "##################################  finished  #########################################"


本脚本适用于redhat系列操作系统,用时需要更改相应的ftp服务器地址、ftp用户名、ftp用户密码,以及相应的备份目录和文件要上传到ftp的哪个目录中等信息。另外使用时需要确保脚本中的ftp、mysqldump等命令在系统中已存在方可执行本脚本,否则将会报错。










本文转自 忘情OK  51CTO博客,原文链接:http://blog.51cto.com/itchentao/1882957,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
安装mysql一站式详细操作【含解决没有data目录、查找初始密码(mysql5.7+)】
安装mysql一站式详细操作【含解决没有data目录、查找初始密码(mysql5.7+)】
76 0
HIVE HDFS 同步到MYSQL里,在HIVE里存为目录的分区键的如何同步呢?
请教下 ,HIVE HDFS 同步到MYSQL的时候,如果在源端HIVE里是分区表,分区字段要这么同步到目标端MYSQL呢
64 0
Docker的Mysql数据库:把数据存储在本地目录
Docker mysql 把数据存储在本地目录,很简单,只需要映射本地目录到容器即可
452 0
MYSQL_性能调优目录
MYSQL_性能调优目录
131 0
mysql 最新版5.7.18免安装配置指南(不是exe哦,下载完后没有data目录)
mysql 最新版5.7.18免安装配置指南(不是exe哦,下载完后没有data目录)
58 0
Linux上更改mysql数据库目录
Linux上更改mysql数据库目录
127 0
Docker的Mysql数据库:把数据存储在本地目录
Docker mysql 把数据存储在本地目录,很简单,只需要映射本地目录到容器即可 1、加上-v参数 $ docker run -d -e MYSQL_ROOT_PASSWORD=admin --name mysql -v /data/mysql/data:/var/lib/mysql -p 33...
1738 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
让 MySQL 原生分布式触手可及
立即下载
好的 MySQL 兼容可以做到什么程度
立即下载
云数据库RDS MySQL从入门到高阶
立即下载