标签:server ftp服务器 package tables databases
防伪码:忘情公子著
前几天领导安排了一个任务,让写一个脚本备份某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等命令在系统中已存在方可执行本脚本,否则将会报错。
本文出自 “忘情博” 博客,转载请与作者联系!
标签:server ftp服务器 package tables databases
原文地址:http://itchentao.blog.51cto.com/5168625/1882957