mysql数据库自动备份并上传到服务器
一 需要的工具
1 mysqldump
2 ncftp
3 crontab -e
二 过程
1 mysqldump
说明:
mysql备份工具
使用方法(ct为测试数据库):
# /usr/local/mysql/bin/mysqldump ct -uroot -ppwd --opt >/root/backup/ct.sql
2 ncftp(百度一下)
说明:
FTP让用户得以下载存放于服务器主机的文件,也能将文件上传到远端主机放置。NcFTP是文字模式FTP程序的佼佼者,它具备多样特色, 包括显示传输速率,下载进度,自动续传,标住书签,可通过防火墙和代理服务器等。
下载地址:
ftp://ftp.ncftp.com/ncftp/ncftp-3.2.1-src.tar.gz
安装:
# tar zxvf ncftp-3.2.1-src.tar.gz
# cd ncftp-3.2.1
# ./configure --prefix=/usr/local/ncftp
# make
# make install
使用方法:
# /usr/local/ncftp/bin/ncftpput -u user -p pwd 10.0.1.16 /ct /root/backup/ct.sql
数据库备份并上传到服务器(backup.sh):
#===============================================================
#!/bin/bash
bakname=`hostname`-ct-`date +%Y%m%d%H%M%S`
rm /root/backup/* -rf
/usr/local/mysql/bin/mysqldump ct -uroot -ppwd --opt >/root/backup/$bakname.sql
cd /root/backup
tar zcf $bakname.tar.gz $bakname.sql
/usr/local/ncftp/bin/ncftpput -u user -p pwd 10.0.1.16 /ct /root/backup/$bakname.tar.gz
echo "`date +/"+%F %T/"` $bakname Upload ct ok! ">>/root/ctbackuplogs
#===============================================================
3 crontab -e(百度一下)
帮助页面:
http://baike.baidu.com/view/1229061.htm
例子:
每月每天2点整执行一次backup.sh
0 2 * * * /root/scripts/backup.sh