2019独角兽企业重金招聘Python工程师标准>>>
#!/bin/bash#本地备份路径
LOCAL_BACK_PATH=/home/backup#mysqldump的执行路径
MYSQL_PATH=/usr/local/mysql/bin/mysql
MYSQL_DUMP_PATH=/usr/local/mysql/bin/mysqldump#FTP信息
FTP_BIN_PATH=/usr/bin/ftp
FTP_IP='10.146.190.255'
FTP_USER=ftp账号
FTP_PWD=ftp密码
FTP_PORT=ftp端口
FTP_PATH=ftp服务器要备份的目录 例如: /backup/ex1#Mysql信息
MYSQL_USER=root
MYSQL_PWD=root#网站目录
WEB_PATH=/usr/local/nginx/htmlif [ ! -f $FTP_BIN_PATH ]; thenyum install ftp -y;
fi
if [ ! -d $LOCAL_BACK_PATH ]; thenmkdir $LOCAL_BACK_PATH;
fi#定义需要备份的数据库的名字和旧数据库的名字
DataBackName=Data_$(date +"%Y%m%d").tar.gz
WebBackName=Web_$(date +"%Y%m%d").tar.gz
OldData=Data_$(date -d -7day +"%Y%m%d").tar.gz
OldWeb=Web_$(date -d -7day +"%Y%m%d").tar.gz#先进入备份目录
cd $LOCAL_BACK_PATH;#删除本地3天前的数据
rm -rf Data_$(date -d -7day +"%Y%m%d").tar.gz Web_$(date -d -7day +"%Y%m%d").tar.gz#获取mysql下面的所有数据库
database_tables=`$MYSQL_PATH -u $MYSQL_USER -p$MYSQL_PWD -B -N -e 'SHOW DATABASES'|xargs`;#导出数据库,一个数据库一个压缩文件
echo '数据库备份--------START';for db in ${database_tables};do($MYSQL_DUMP_PATH -u $MYSQL_USER -p$MYSQL_PWD ${db} -q --skip-lock-tables | gzip -9 -> ${db}.sql.gz)echo "$db OK!";
doneecho '数据库备份--------END';#压缩数据库文件为一个文件
echo '打包数据库文件----START';tar zcf $DataBackName *.sql.gz
echo '打包数据库文件----END';echo '移除数据库备份----START';rm -rf *.sql.gzecho '移除数据库备份----END';#压缩网站数据
echo $WebBackName;tar zcf $WebBackName $WEB_PATHecho '打包网站文件'/$WebBackName;echo 'END';echo '开始FTP上传';
#上传到FTP空间&#xff0c;删除FTP空间五天前的数据ftp -v -n $FTP_IP $FTP_PORT <
type binary
cd $FTP_PATH
delete $OldData
delete $OldWeb
put $DataBackName
put $WebBackName
bye
ENDecho date&#39;脚本结束!&#39;;