1.在linux服務器上安裝ftp服務端軟件
Shell代碼
wget http://mirror.centos.org/centos-6/6.3/os/x86_64/Packages/vsftpd-2.2.2-11.el6.x86_64.rpm
rpm -ivh vsftpd-2.2.2-11.el6.x86_64.rpm
2.安裝成功後修改/etc/vsftpd/vsftpd.conf,這裏主要設置拒絕匿名登陸和鎖定用戶到自家目錄
Xml代碼
#拒絕匿名登陸
anonymous_enable=NO
#鎖定用戶到自家目錄
chroot_local_user=YES
ps:更多ftp設置參考http://zserver.blog.51cto.com/370152/157203/
3.service vsftpd restart 重啓ftp服務.
4.設置iptables,這裏ftp採用的是Port模式,只須要打開監聽端口21和數據端口20
Xml代碼
編輯/etc/sysconfig/iptables,添加以下規則
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
5.重啓刷新防火牆規則,service iptables restart
6.在linux系統爲ftp添加一個用戶,並將用戶家目錄設置爲ftp默認目錄 經過-d參數設置,最後設置密碼。
Shell代碼
useradd ftp1 -d /var/ftp/pub -s /sbin/nologin
passwd ftp1
到這一步,linux段的ftp服務就算安裝完成了。
7.編寫shell腳本/home/scripts/dumpdata.sh備份mysql數據到ftp目錄/var/ftp/pubmysql
Shell代碼
mysqldump --no-defaults --default-character-set=utf8 --single-transaction -uroot -p123456 dbname> /var/ftp/pub/dbname`date +%y%m%d`.sql
cd /var/ftp/pub
tar -jcf richart`date +%y%m%d`.tar.bz2 ./richart`date +%y%m%d`.sql
if [ $? -eq 0 ]
then
rm -rf /var/ftp/pub/richart`date +%y%m%d`.sql#打包壓縮成功後,刪除原文件,節約空間
fi
find /var/ftp/pub/ -mtime +90 -name *.tar.bz2 -exec rm -f {} \;#刪除90天前的備份文件
ps:編寫完了記得給腳本加執行權限 linux
8.將腳本加入到crond計劃,crontab -e,加入下面代碼
Shell代碼
02 3 * * * /home/scripts/dumpdata.sh
到這裏服務器段的工做就算完成了,接下來就是要在windows(xp)端獲取數據
9.編寫批處理文件wget.bat,經過ftp獲取數據,並刪除90天前的備份文件
Bat代碼
G:
cd G:/sqldata
set fileName=dbname%date:~2,2%%date:~5,2%%date:~8,2%.tar.bz2
(echo open 192.168.1.100
echo ftp1
echo ftp1pass
echo prompt
echo binary
echo get %fileName%
echo bye) > ftp_getData.src
ftp -s:ftp_getData.src
forfiles /p "G:\sqldata" /m *.tar.bz2 /d -90 /c "cmd /c del @path"
echo %date%sql數據備份成功!時間:%time% >> ftp.log
ps:有的xp系統中最初可能沒有forfiles這個命令,經過網上下載後放在C:\WINDOWS\system32裏面 sql
10.最後一步,將wget.bat批處理命令加入到windows計劃任務
Dos代碼
運行,cmd,打開dos窗口
net stop schedule
net start schedule
at 03:46 /every:Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday G:\sqldata\wget.bat
at 命令查看計劃任務列表
ps:有的windows系統task scheduler服務是禁止的,經過控制面板-->管理工具-->服務,找到該服務,啓用就能夠了。 shell