手机
当前位置:查字典教程网 >脚本专栏 >linuxshell >linux下自动备份MySQL数据并上传到FTP上的shell脚本
linux下自动备份MySQL数据并上传到FTP上的shell脚本
摘要:复制代码代码如下:#!/bin/bash#Mysqlautobackupshell###----------------setthemysq...

复制代码 代码如下:

#!/bin/bash

#Mysql autobackup shell

#

#

#----------------set the mysql login parameters

dbuser=root

dbpasswd=

dbserver=localhost

dbname=fwserver2008

dbopt=--opt

backupdir=/dbbackup/

#-----------------set the FTP paramters , 0 no send to a ftp server,1 send to a ftp server

copytoftp=1

ftpserver=172.16.25.2

ftpuser=linux

ftppasswd=123456

#----------------set the backpfile paramters

fileprefix=fwserver

dumpfilename=$backupdir$fileprefix`date +%F_%H%M%S`.sql

newfile=$fileprefix-`date +%F_%H%M%S`.tar.gz

keepdays=10

#------------------write the operater command to log file

logfile=/var/log/_mysqlbackup.log

logtmp=/var/log/_mybackup.tmp

#===============================================

if [ ! -d $backupdir ]

then

echo "$backupdir is not exist, then make ..." >> $logfile

mkdir -p $backupdir

fi

echo "start====================================>">>$logfile

echo "Beginning backup `date +%F %T`" >>$logfile

echo "Delete $keepdays days ago files ..." >>$logfile

find $backupdir -name $fileprefix* -mtime +$keepdays -fls $logtmp -exec rm {} ;

echo "Deleted Backup file is :">>$logfile

cat $logtmp >>$logfile

echo "Delete old file Success!" >>$logfile

if [ -f $backupdir$newfile ]

then

echo "$newfile backup exist, backup stop ..." >>$logfile

else

if [ -z $dbpasswd ]

then

mysqldump -u$dbuser -h$dbserver $dbopt $dbname >$dumpfilename

else

mysqldump -u$dbuser -p$dbpasswd -h$dbserver $dbopt $dbname >$dumpfilename

fi

tar czvf $backupdir$newfile $dumpfilename >>$logfile 2>&1

echo "$backupdir$newfile Backup Success!" >>$logfile

rm -fr $dumpfilename

if [ $copytoftp = 1 ]; then

if [ -z $ftpserver ];then

echo "Ftp Server not set,Copy to Ftp Failed ..." >>$logfile

exit 1

elif [ -z $ftpuser ];then

echo "Ftp user not set, Copy to Ftp Failed ..." >>$logfile

exit 2

elif [ -z $ftppasswd ]; then

echo "Ftp password not set, Copy to Ftp Failed ..." >>$logfile

exit 3

else

echo "Start copy to Ftp server ...." >> $logfile

ftp -i -n <<end_ftp

open $ftpserver

user $ftpuser $ftppasswd

lcd $backupdir

hash

prompt

put $newfile

close

bye

end_ftp

fi

fi

echo "End=======================================">>$logfile

fi

# the end of the auto backup script

【linux下自动备份MySQL数据并上传到FTP上的shell脚本】相关文章:

Ubuntu、Linux Mint一键安装Chrome浏览器的Shell脚本分享

智能监测自动重启Apache服务器的Shell脚本

linux自动重启tomcat脚本分享

收集的48个Shell脚本小技巧

Linux下Shell脚本中几种基本命令的替换区别

一个用了统计CPU 内存 硬盘 使用率的shell脚本

linux删除无效链接文件脚本分享

一个测试下载速度的shell脚本

监控php-fpm并自动重启服务的shell脚本

分享一个入门级可控多线程shell脚本代码

精品推荐
分类导航