自动备份数据到远程主机FTP

推荐GD的免费空间,10G,并且长期稳定。
备份建议设置为每天执行一次,时间在凌晨2点至凌晨5点之间。
备份的数据如果不是特别大的话,不建议压缩,防止其中可能会有已经被多次压缩过的文件损坏。
备份数据库的方式为停止MYSQL服务后备份DATA目录,期间MYSQL会中止数秒至数十秒。请自行权衡利弊。
如果系统上没有ftp命令,先执行yum install -y ftp进行安装。
需要先建立/home/backup/目录,该目录不能用作其他用途。

#!/bin/bash
 
#FTP信息
FTP_IP=
FTP_USER=
FTP_PASS=
 
#备份数据库
/etc/init.d/mysqld stop
MySQLBakName=MySQL_$(date +"%Y%m%d").tar.gz
tar zcf /home/backup/$MySQLBakName /var/lib/mysql
/etc/init.d/mysqld start
 
#备份网站
WebBakName=Web_$(date +%Y%m%d).tar
tar cf /home/backup/$WebBakName /home/www
 
#操作FTP
OldMySQL=MySQL_$(date -d -1day +"%Y%m%d").tar.gz
OldWeb=Web_$(date -d -1day +"%Y%m%d").tar
 
cd /home/backup/
/usr/bin/ftp -v -n $FTP_IP << EOF
user $FTP_USER $FTP_PASS
type binary
put $MySQLBakName
put $WebBakName
delete $OldMySQL
delete $OldWeb
bye
EOF
 
rm -rf /home/backup/*.tar*