前言
DiskGenius告诉我们“数据无价,谨慎操作”。你应该不希望自己辛辛苦苦写的文章因为各种意外而丢失吧。而定期备份是解决该问题的一种有效手段,下面让我们开始吧。备份
这里我们采用Crontab
定时脚本来定期运行我们写好的备份脚以本实现定期备份功能。在家目录下创建一个scripts文件夹用来存我们写好的脚本
代码: 全选
# 先回到家目录
cd
# 创建scripts目录
mkdir scripts
创建一个名为
wordpress.bak.sh
的脚本文件
代码: 全选
vim scripts/wordpress.bak.sh
按i键进入编辑模式,然后使用Ctrl+Shift+V或Shift+Insert将脚本内容粘贴进去
脚本内容如下:
代码: 全选
#!/usr/bin/env bash
NAMEDATE=`date +%F_%H-%M_%s` && echo $NAMEDATE
mkdir -p /root/backup/wordpress/$NAMEDATE -m 0700 && echo "Directory Created"
mariadb-dump -u wordpress -p"wordpress" wordpress | gzip > /root/backup/wordpress/$NAMEDATE/db.sql.gz && echo "Database Dumped"
tar -C /var/www -czf /root/backup/wordpress/$NAMEDATE/files.tar.gz wordpress && echo "Wordpress Files Dumped"
chmod -R 0700 /root/backup/wordpress/$NAMEDATE/* && echo "Directory Permission Restored"
# Remove backups older than 7 days
find /root/backup/wordpress/ -type d -mtime +7 -exec rm -rf {} \; && echo "Old Backups Removed"
exit 0
然后按ESC键进入命令行模式,输入
:wq
,然后回车保存并退出接着使用下面命令运行一下我们的脚本,看是否有问题
代码: 全选
bash scripts/wordpress.bak.sh
从上面的结果看,脚本正常运行了,没有遇到问题,我们在进入备份路径下看看
配置
Crontab
定时任务,输入下面的命令
代码: 全选
# 这里选择vim编辑器
crontab -e
按小写字母o键,会将光标指向下一行并进入编辑模式
使用Ctrl+Shift+V或Shift+Insert粘贴下面的内容
代码: 全选
0 0 * * * /usr/bin/bash /root/scripts/wordpress.bak.sh
按ESC键进入命令行模式,输入
:wq
,然后回车保存并退出然后终端里还会提示
crontab: installing new crontab
将备份下载到本地
Tabby右上角有一个SFTP的选项,点击它,然后依次进入到我们备份的文件路径还原备份
假设未来你需要搬迁服务器了,或者因为某些原因想要回滚数据,此时可以这样操作。把前面备份的数据库和wordpress文件通过Tabby的SFTP功能上传到新服务器中,假设文件上传到
/root/temp
中下面分别将数据库和wordpress文件解压
代码: 全选
# 解压数据库
gunzip db.sql.gz
# 解压wordpress文件
tar xf files.tar.gz
检查一下文件权限
发现没啥问题,使用
mv
指令把wordpress文件夹移动到Nginx配置中root /xxxxx/xxxxx;
指定的路径,假设是 root /var/www/wordpress;
代码: 全选
mv wordpress /var/www
代码: 全选
mariadb -u wordpress -p"wordpress" wordpress < ./db.sql
完结撒花
感谢你能看到这里,至此,《从0到1: 一个博客的诞生》系列文章算是正式完结了,文章内容不多,省略了很多东西,主要目的是勾起大伙的兴趣以帮助你们更好的克服内心学习和使用Linux的不适感,不知道成功了没有,哈哈~The Ends!
有任何问题可以加入我们的聊天室或直接回帖。
聊天室注册链接: https://chat.quanquan.space/signup_user ... msetg4xb9a
本系列文章均采用 CC BY-NC-SA 3.0 许可协议,转载请注明出处。