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系统mysql自动备份并使用ftp上传的方法
-
linux数据库备份并通过ftp上传脚本分享
-
Linux VPS/服务器 网站及数据库自动本地备份并FTP上传备份脚本
-
CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中
-
linux下自动备份MySQL数据并上传到FTP上的shell脚本
-
linux系统mysql自动备份并使用ftp上传的方法
-
linux数据库备份并通过ftp上传脚本分享
-
Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份
-
Linux VPS/服务器 网站及数据库自动本地备份并FTP上传备份脚本
-
CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中