备份下心爱的博客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 [email protected]:/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 [email protected]:/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 [email protected]:/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 [email protected]:/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