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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介:

前几天领导安排了一个任务,让写一个脚本备份某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,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
10天前
|
SQL 关系型数据库 MySQL
MySQL服务器性能调优的顶级策略14
【7月更文挑战第14天】MySQL服务器性能调优的顶级策略
32 12
|
9天前
|
监控 NoSQL Ubuntu
|
1月前
|
NoSQL 关系型数据库 MySQL
linux服务器重启php,nginx,redis,mysql命令
linux服务器重启php,nginx,redis,mysql命令
34 1
|
1月前
|
Java 关系型数据库 MySQL
杨校老师课堂之Java项目部署到云端服务器之安装MySQL、Jdk、Tomcat
杨校老师课堂之Java项目部署到云端服务器之安装MySQL、Jdk、Tomcat
34 0
杨校老师课堂之Java项目部署到云端服务器之安装MySQL、Jdk、Tomcat
|
22天前
|
关系型数据库 MySQL Java
软件开发2003 -Can·t to MySQL server on ‘xxxxxx‘(10038),宝塔初始化安装mysql,远程链接MySql注意事项,开始时服务器是没有放开端口的,宝塔也都开
软件开发2003 -Can·t to MySQL server on ‘xxxxxx‘(10038),宝塔初始化安装mysql,远程链接MySql注意事项,开始时服务器是没有放开端口的,宝塔也都开
|
1月前
|
安全 关系型数据库 MySQL
本地项目无法连接阿里云服务器MYSQL---轻量应用服务器篇
本地项目无法连接阿里云服务器MYSQL---轻量应用服务器篇
31 0
|
Linux 网络安全 数据安全/隐私保护
【Debug 篇】FTP 无法连接目录或显示空白
FTP 无法连接目录或显示空白,报错提示 “服务器发回了不可路由的地址,使用服务器地址代替”。
3182 0
【Debug 篇】FTP 无法连接目录或显示空白
|
2月前
|
SQL 分布式计算 DataWorks
DataWorks常见问题之dataworks连接FTP服务器失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
16天前
|
网络协议 Unix 网络安全
FTP服务器怎么搭建?Windows server搭建FPT服务器
FTP服务器是按照FTP协议提供文件传输服务的计算机。它用于在两台计算机间安全地传输文件,支持用户权限管理和跨平台操作。FTP使用控制连接处理命令,数据连接传输文件,有PORT和PASV模式。要搭建FTP服务器,首先在Windows Server 2008 R2上安装IIS,确保选中FTP服务。接着,创建FTP文件夹作为站点根目录,通过IIS管理器添加FTP站点,配置站点信息、身份验证和权限。测试客户端通过telnet和浏览器访问FTP服务器,确认能成功登录及浏览文件。FTP常用于文件共享和管理,可通过专用工具如FlashFXP上传下载文件。
43 0
FTP服务器怎么搭建?Windows server搭建FPT服务器
|
1月前
|
存储 数据库连接 数据库
如何使用Python上传文件到FTP服务器
如何使用Python上传文件到FTP服务器
25 1