首页 > 代码库 > 备份部分mysql表并上传至指定ftp服务器目录中
备份部分mysql表并上传至指定ftp服务器目录中
防伪码:忘情公子著
前几天领导安排了一个任务,让写一个脚本备份某mysql数据库中的部分表,并要将备份好的文件上传至某ftp服务器中,于是就有了以下的脚本
#!/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等命令在系统中已存在方可执行本脚本,否则将会报错。
本文出自 “忘情博” 博客,转载请与作者联系!
备份部分mysql表并上传至指定ftp服务器目录中
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。