linux备份数据库并上传到FTP服务器

linux备份数据库并上传到FTP服务器,第1张

#!/bin/bash

#设置日志文件,前提建好了/backup/log目录

LogFile=/backup/log/`date +"%Y-%m"`.log

#备份源目录

SourceDir=/cvs

#备份目标

BakDir=/backup

#保存20天过期自动删除

RetainDay=20

#备份的内容可以写进project.lst,如cvs目录下有a,b,c三个目录,project.lst填写多少就备份多少,下面是备份的

#具体脚本,其核心是tar打包,并把重要的内容记录到日志文件里

ProjectLst=/backup/project.lst

##################################################

DATE=`date +"%Y-%m-%d"`

echo "backup start at $(date +"%Y-%m-%d %H:%M:%S")" >$LogFile

echo "--------------------------------------------------" >>$LogFile

cd $BakDir

PROJECTLIST=`cat $ProjectLst`

for Project in $PROJECTLIST

do

ProjectData=$SourceDir/$Project

DestDir=$BakDir/$Project

PackFile=$DATE.$Project.tgz

if [ -f $BakDir/$PackFile ]

then

echo "backup file have exist !" >>$LogFile

else

cp -RHpf $ProjectData $DestDir >/dev/null

tar -zcvf $PackFile $Project >/dev/null

echo "backup $Project done into $PackFile" >>$LogFile

rm -rf $Project

fi

done

echo "--------------------------------------------------" >>$LogFile

echo "backup end at $(date +"%Y-%m-%d %H:%M:%S")" >>$LogFile

echo " " >>$LogFile

##################################################

#下面的内容就是把刚才备份的内容传到服务器上,前提是你有一个可以访问到底FTP服务器

#put backup to ftp server

HOST=192.168.110.111

FTP_USERNAME=ftpuser

FTP_PASSWORD=123456

cd $BakDir

echo "start open ftp serverat $(date +"%Y-%m-%d %H:%M:%S")" >>$LogFile

echo "--------------------------------------------------" >>$LogFile

/usr/bin/ftp -in <open $HOST

user $FTP_USERNAME $FTP_PASSWORD

put $DATE.$Project.tgz

bye

EOF

echo "put ftp end at $(date +"%Y-%m-%d %H:%M:%S")" >>$LogFile

#最后上传完毕后再查看本地备份大于20天的自动删除,这样就可以实现本地异地双备份

find $Bakdir -type f -mtime +$RetainDay -name "*.$Project.tgz" -exec rm {} \>/dev/null

exit 0

#最后我们还可用crontab做个周期性计划,比如每周一次全备份

#59 23 * * 6 /home/backup.sh

首先通过xshell连接数据库服务器,执行命令mysql -u root -p 命令,按照提示输入密码。连接上数据库。\x0d\x0a\x0d\x0a在连接终端上执行命令create database JD_Model\x0d\x0a执行完成后,验证数据库是否创建成功。执行命令show database查看是否有JD_Model数据库。\x0d\x0a\x0d\x0a将准备好的数据库文件20151010.sql文件通过xftp工具,上传至/root目录下,并等待上传完毕。\x0d\x0a\x0d\x0a在连接数据库的终端执行命令use JD_Model。\x0d\x0a使用JD_Model数据库。具体 *** 作如下图所示。\x0d\x0a\x0d\x0a执行命令source /root/20151010.sql。执行数据库导入命令。\x0d\x0a待导入完毕,执行下一步 *** 作。\x0d\x0a\x0d\x0a确定数据表是否创建成功,即数据文件是否导入成功。\x0d\x0a执行命令 show tables;查看数据库下的表。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9872418.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存