Linux网站备份以及MYSQL的一键备份恢复

今天我们来备份下心爱的博客wordpress


#进入目录

cd /home/wwwroot/

#将我们的网站ZIP压缩成xxx.com.zip

zip -r xxx.com.zip xxx.com

#用scp命令将该网站压缩文件发到你的储存备份服务器AAA.BBB.CCC.DDD

scp -P2222 /home/wwwroot/xxx.com.zip root@AAA.BBB.CCC.DDD:/home/wwwroot/

 

#至此你的网站就备份到远程服务器了,同理如果要恢复,可以用SCP把xxx.com.zip发回你的服务器,用unzip解压

unzip xxx.com.zip -d /home/wwwroot/xxx.com

然后进入xxx.com目录,把其中xxx.com目录下的文件覆盖至原xxx.com,至此恢复网站完成。

 

 

除了你的网站目录,你还必须备份恢复你的MYSQL数据库


#假设你博客的数据库名为wordpress,那我们可以在当前目录下将其备份为wpbackup.sql

mysqldump -uroot -p wordpress > wpbackup.sql

同样我们可以借助scp功能将其发送到你的远程备份服务器,恢复时再发送回来

#将名为test.sql的文件恢复至你的wordpress数据库

mysql -uroot -p wordpress < wpbackup.sql

至此,网站以及MYSQL的手工备份与恢复就完成了。

 

 

建立backup.sh来简化备份步骤,一键备份恢复


当然,我们还能写一个backup.sh来简化以上的步骤,在目录下vi backup.sh

#首先删除原备份以免文件覆盖产生冲突
rm -rf /home/wwwroot/xxx.com.zip
rm -rf /home/wwwroot/wpbackup.sql
echo "Old File Deleted"
#以下开始备份
cd /home/wwwroot
zip -r xxx.com.zip xxx.com
#接着把zip文件发到远程备份服务器的/home/wwwroot目录
echo "ENTER remote server's ssh password"
scp -P22 /home/wwwroot/xxx.com.zip root@AAA.BBB.CCC.DDD:/home/wwwroot
#输入数据库密码,备份wordpress数据库,保存名为wpbackup.sql
echo "waiting for Mysql backup, enter Mysql password"
mysqldump -uroot -p wordpress > wpbackup.sql
echo "wordress.sql has backed up as wpbackup.sql"
#把数据库备份发到远程备份服务器的/home/wwwroot目录
echo "ENTER remote server's ssh password"
scp -P22 /home/wwwroot/wpbackup.sql root@AAA.BBB.CCC.DDD:/home/wwwroot
cd
echo "backup completed"

:wq保存退出,bash backup.sh来执行;

接下来我们建立一键恢复,在目录下vi restore.sh


#首先删除服务器上旧数据,以免覆盖出错
cd /home/wwwroot
rm -rf xxx.com/*
#然后把zip文件解压缩恢复至网站目录
unzip xxx.com.zip -d /home/wwwroot/xxx.com
mv /home/wwwroot/xxx.com/xxx.com/* /home/wwwroot/xxx.com
rm -rf /home/wwwroot/xxx.com/xxx.com
echo "backup copied"
#最后输入数据库密码来恢复数据库
echo "Enter Mysql password"
mysql -uroot -p wordpress < wpbackup.sql
echo "backup completed"

:wq保存退出,bash restore.sh来执行。

 

 

编写:Tami   转载请注明以上内容来自LuckPing

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*