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