linux数据库备份并通过ftp上传脚本分享
#!/bin/bash
#author: 505056357@qq.com
echo "backup job start"
#设置要备份的网站目录,即是网站的根目录
file=/home/wwwroot/default
#设置本地备份目录,用于存放打包后的文件
backpath=/home/wwwroot/bkdata/
dbuser=root
#数据密码,要记得用单引号将把整个密码引起来,如果密码中有单引号就用双引号,嘿嘿
dbpwd='123456'
dbname=car
domain=192.168.0.187
user=ftpuser
userpwd='123456'
bkdate=$(date +%Y%m%d)
sqlfile_sql=${dbname}_${bkdate}.sql
sqlfile_gz=${dbname}_${bkdate}.tar.gz
sqlfp=${backpath}${bkdate}/$sqlfile_sql
if [ -e $backpath${bkdate} ]
then
echo $backpath is exists.
else
mkdir -p $backpath${bkdate}
fi
#执行数据库备份,/apps/mysql/bin/mysqldump修改为你实际环境的路径
/apps/mysql/bin/mysqldump -u $dbuser -p$dbpwd $dbname > ${sqlfp}
#对备份之后的数据库文件压缩,或者在数据库备份时通过加入参数直接进行压缩
tar zcf $backpath${bkdate}/$sqlfile_gz -C ${backpath}${bkdate} ${sqlfile_sql}
#删除未压缩SQL的文件
rm -f ${sqlfp}
#生成的文件名格式:web_网站目录名_20130419.tar.gz
fn=web_${file##*/}_${bkdate}.tar.gz
tar zcf $backpath${bkdate}/$fn -C ${file%/*} ${file##*/}
#以下操作为FTP自动连接并把本地文件上传到异地服务器上
/usr/bin/lftp ${domain} << END
user ${user} ${userpwd}
lcd ${backpath}
mirror -R ${bkdate}
exit
END
echo "backup job done"
相关文章
Linux 通过 autojump 命令减少 cd 命令的使用的实现方法
这篇文章主要介绍了Linux 通过 autojump 命令减少 cd 命令的使用的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-09-09Shell命令中的特殊替换、模式匹配替换、字符串提取和替换的实现
本文主要介绍了Shell命令中的特殊替换、模式匹配替换、字符串提取和替换的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-03-03详谈Linux写时拷贝技术(copy-on-write)必看篇
下面小编就为大家带来一篇详谈Linux写时拷贝技术(copy-on-write)必看篇。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-07-07
最新评论