腾讯云主机部署Docker+WordPress+https+CDN(七) 网站备份与还原

1. 建立一个空的git仓

我选的国内的gitee

2. 备份数据到git

# 安装git
yum -y install git

# 配置git
git config --global user.name "于飞"
git config --global user.email "yufei_email@163.com"
# 记住密码,这样只要输入一次账号密码
git config --global credential.helper store

# 初始化/root/docker目录为git仓
cd /root/docker
git init
git remote add origin https://gitee.com/ferrisyu/wordpress_back.git

# 添加.gitignore
# db目录不用备份,使用mysqldump导出sql再备份
cat <<EOF >/root/docker/.gitignore
/db
/nginx/log
/wordpress/wp-content/cache
EOF

# 提交文件
git add --all .
git commit -m "初始工程"
git push --set-upstream origin master

3. 设置定时备份任务

# 准备脚本
cat <<EOF >/root/docker/backup.sh
date "+%Y-%m-%d %H:%M:%S"
docker exec -i mysql mysqldump codingxx -u root -pKdif@9854jef  > /root/docker/backup.sql
cd /root/docker
git add --all .
git commit -m "auto backup"
git push origin master
echo ""
EOF

chmod u+x backup.sh

# 配置定时任务
# 这里待优化,log文件使用的追加方式,没有定期清理。影响不大,每天备份1次基本不会出现很大的日志文件
echo '0  3  *  *  * root  /root/docker/backup.sh >> /root/backup.log 2>&1' >> /etc/crontab
systemctl restart crond

在git上面可以看到每天定时备份的提交记录:

4. 从备份恢复网站

cd /root/docker
# 关闭网站
docker-compose down

# 根据git提交记录,将代码恢复到某天备份的commitid
git checkout 5e97592f4992a48e5f63aae30d3851f3f8ef863d

# 删除数据库文件
rm /root/docker/db -rf

# 启动网站
docker-compose up -d

# 恢复数据库
docker exec -i mysql mysql -uroot -pKdif@9854jef codingxx < /root/docker/backup.sql

# 重启网站
docker-compose restart

建站  ·  开发  ·  读书  ·  教程
↑长按或扫码关注“编程之海”公众号↑
↑长按或扫码关注“编程之海”公众号↑
编程之海 版权所有丨如未注明,均为原创丨转载请注明转自:https://codingsea.com/wordpress-backup-restore/
0 0 投票数
文章评分
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论

0

0

847

0
希望看到您的想法,请您发表评论x