位置:海鸟网 > IT > linux/Unix >

Linux下通过FTP来备份Mysql数据

#!/bin/bash

############### Mysql Backup & FTP ################
#Power By Lts 2004-12-23 16:10
#E-mail:tiansi@liu.net.cn
#
#1. mkdir /home/mysqlbackup
#2. chmod 700 MysqlDatebackup.sh
#3. vi /etc/crontab , 30 03 * * * root /home/mysqlbackup/MysqlDatebackup.sh
#everyday 03:30 the MysqlDatebackup.sh will work

#System Setup
host=202.100.222.2  #FTP主机
UserName=test      #FTP用户名
Passwd=test        #FTP密码

function Iint()                #处理涵数
{
backup_path=/home/mysqlbackup  #压缩文件存放的目录
file=$path-mysql-$(date +%Y-%m-%d).tar.gz        #文件名
backupCWD=/usr/local/mysql/data/$path  #需备份的path
tar -czf $backup_path/$file $backupCWD #执行备份操作

cd $backup_path
ftp -i -n <<!
open $host        #登录FTP服务器
user $UserName $Passwd
if [ ! [ -d WEB-BACK/$path ]]; then
mkdir MYSQL-BACK/$path        #如目录不存在则创建
fi
cd MYSQL-BACK/$path
put  $file #上传文件
bye        #退出
!
}
/etc/init.d/mysqld stop >/dev/null 2>&1        #停止Mysql服务
path=database1 #需备份的数据名
Iint        #调用处理涵数
path=datebase2 
Iint
/etc/init.d/mysqld start >/dev/null 2>&1        #启动Mysql服务

rm -rf $backup_path/*.tar.gz        #删除压缩文件
echo "ftp back ok!"