您现在的位置是: 首页> 学无止境> Linux> Linux

mysql备份并上传到ftp服务器

张伟江2019-02-27 19:47Linux2704人已围观

#!/bin/bash
# mysql备份并上传到ftp服务器
# ctocode-zwj <982215226@qq.com>
# 2019-02-27 21:00

 
#DUMP=/usr/bin/mysqldump    #mysqldump备份程序执行路径  
 
OUT_DIR=/backup/mysql   #备份文件存放路径  
 
LINUX_USER=root            #系统用户名 
 
DB_NAME=shxx_hrhg           #要备份的数据库名字 
 
DB_USER=shxx_hrhg              #数据库用户名 
  
DB_PASS=HwddFfDMaJEYctAy             #密码 
 
DAYS=7         #DAYS=7代表删除7天前的备份,即只保留最近7天的备份 

#ftp-config

ftp_host="111.231.142.160"

ftp_user="hrhg"

ftp_pass="*******"

  
cd $OUT_DIR                #进入备份存放目录 
 
DATE=`date +%Y_%m_%d`      #获取当前系统时间

HourMin=`date +%H%M`       #获取当前系统时间时分
 
OUT_SQL="$DB_NAME-$DATE.sql"        #备份数据库的文件名 
 
TAR_SQL="$DB_NAME-$DATE.sql.tar.gz" #最终保存的数据库备份文件名 
 
#$DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=utf8 --opt -Q -R --skip-lock-tables> $OUT_SQL #备份 

#上面那条是别人备份用的语句,我平常用的是下面的,/usr/local/mysql/bin/mysqldump为mysql安装目录,必须写对路径
mysqldump -u$DB_USER -p$DB_PASS -R --single-transaction --add-drop-database --databases $DB_NAME  >  $OUT_SQL
 
tar -zcvf $TAR_SQL  $OUT_SQL  #压缩为.tar.gz格式 
 
rm $OUT_SQL   #删除最原始为压缩的备份文件 
 
#chown  $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL  #更改备份数据库文件的所有者 
chown  $LINUX_USER:$LINUX_USER $TAR_SQL  #更改备份数据库文件的所有者 
 
find $OUT_DIR -name "mydb_dump*" -type f -mtime +$DAYS -exec rm {} \;  #删除7天前的备份文件(注意:{} \;中间有空格) 
 
deldate=` date -d -7day +%Y_%m_%d `   #删除ftp服务器空间7天前的备份  


#fpt 登录 ,如果要单独测试下面的ftp脚本是否正常,需要去掉<<! 字符。同时如果端口号不是21要指定新端口2121:ftp -v -n 192.168.1.1 2121
ftp -v -n $ftp_host<<! 

user $ftp_user $ftp_pass
 
binary  #设置二进制传输 
 
cd mysql_data  #进入ftp目录 
  
prompt 
 
mput $DB_NAME-$DATE.sql.tar.gz
 
mdelete $DB_NAME-$deldate.sql.tar.gz   #删除ftp空间7天前的备份 
 
close 
 
bye !

- END -

点赞(0) 打赏

文章评论 共有 0 条评论

暂无评论

站点信息

  • 建站时间:2018年10月24日
  • 网站程序:fastadmin
  • 文章统计301篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 微信号:zwj982215226

打赏本站

  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!
  • 微信扫码:你说多少就多少~
  • 支付宝扫码:你说多少就多少~

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部