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功能将其发送到你的远程备份服务器,恢复时再发送回来

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

mysql -uroot -p wordpress < wpbackup.sql

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

 

 


 

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

注意运行此脚本前务必用常规scp命令先联通一次备份储存目标,否则该脚本无法传输文件
例如:

scp -P22 /www/wwwroot/www.luckping.com.zip root@AAA.BBB.CCC.DDD:/root/backup

 
写一个backup.sh来简化以上的步骤,注意给与权限,在目录下vi backup.sh

#delete old files in case crash with new fils
rm -rf /www/wwwroot/xxx.com.zip
rm -rf /www/wwwroot/wpbackup.sql
echo "Old File Deleted"
#start backup
cd /www/wwwroot
zip -r xxx.com.zip xxx.com
#send zip file to backup server /www/wwwroot
echo "Waiting on transferring files"
#password below should be your ssh password
sshpass -p password scp -P22 /www/wwwroot/xxx.com.zip root@AAA.BBB.CCC.DDD:/root/backup
#save wpbackup.sql as the wordpress sql file
echo "waiting for Mysql backup, checking password"
mysqldump wordpress > wpbackup.sql
echo "wordress.sql has backed up as wpbackup.sql"
#send sql file to backup server /www/wwwroot
echo "Waiting on transferring files"
#password below should be your ssh password
sshpass -p password scp -P22 /www/wwwroot/wpbackup.sql root@AAA.BBB.CCC.DDD:/root/backup
cd
echo "backup completed"

接着为数据库建立自动获取密码vi .my.cnf

[mysqldump]
#root为你数据库登录名
user=root
#AAA为你数据库密码
password=AAA

bash backup.sh来执行,可以配合crontab计划任务备份到远程机器

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

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

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

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

发表评论

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

*
*