您的位置:首页 > 数据库 > SQL

shell脚本备份mysql并自动ftp到远程主机

2010-11-29 22:54 831 查看
shell脚本备份mysql并自动ftp到远程主机

#!/bin/bash

#auto ftp bakup

#Db need to be backup,separate by space

db="test"

#ftp account

ftphost="192.168.1.111"

ftpuser=test

ftppass=test

#mysql account

DBUser=root

DBPasswd=123456

BackupPath=/home/robin/bak/

array=($db)

for ((i=0;i<${#array[@]};i++))

do

{

NewFile="$BackupPath"db_${array[$i]}_$(date +%y%m%d).tar.gz

DumpFile="$BackupPath"db_${array[$i]}_$(date +%y%m%d).sql

OldFile="$BackupPath"db_${array[$i]}_$(date +%y%m%d --date='1 days ago').tar.gz

#LogFile="$BackupPath"db$(date +%y%m%d --date='1 days ago').txt

echo "---------------------------"

echo $(date +"%y-%m-%d %H:%M:%S")

echo "---------------------------"

#删除

if [ -f $OldFile ]; then

rm -f $OldFile

echo "[$OldFile]Delete Old File Success!"

fi

#新

if [ -f $NewFile ]; then

echo "[$NewFile] exist, don't backup! "

else

/usr/bin/mysqldump -u$DBUser -p$DBPasswd ${array[$i]} > $DumpFile

sleep 5

tar czvf $NewFile $DumpFile

rm $DumpFile -rf

echo "[$NewFile] backup sucessfully"

fi

echo "open ftp"

ftp -i -in <<!

open $ftphost 21

user $ftpuser $ftppass

mput *.tar.gz

bye

!

}

done

echo "backup complete"
本文出自 “娜一片天空” 博客,请务必保留此出处http://wanwentao.blog.51cto.com/2406488/435872
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: