撸代码

计划是写一个shell脚本,自动把网站和数据库目录复制到一个临时文件夹,tar压缩,然后调用qshell的上传命令。

由于我除了php和caddy不是在docker里,剩下的数据库、Go和Python的程序全由docker compose维护。所以就简单粗暴直接复制docker compose的文件夹下来就好了。

脚本如下

#!/bin/bash

cd /root/backup

name=$(date "+%Y-%m-%d-%H-%M-%S").tar

mkdir ./tmp

cp -r ~/mariadb/ ./tmp/mariadb # 等一系列需要备份的目录

tar czf $name tmp
rm -rf ./tmp # 删除临时目录

qshell rput athorx-backup $name $name --storage 1 # 上传

rm $name # 删除压缩包

使用qshell之前需要先设置一下账号的ak和sk。

备份之禅

为什么要备份?因为我之前误删过数据库目录。。淦

我一般情况下都特别执着于备份,甚至主要功能完成之前就已经把备份逻辑写好了。

备份是一种保险,也是负担。增加了维护成本(指编写备份逻辑,定时查看备份是否成功)。有备份会让人更大点一些。比如在生产环境root一把梭。但是有备份不代表逃避责任。

在自己的服务器上,也就博客、朋友的博客、还有一些小项目的代码,拿着root和rm -rf满街跑没啥好怕的,有备份么。但是手下的shell是真的上线环境时,无论有没有备份,按键前都要三思,回车前都要复核,这是素养。

Last modification:December 29th, 2019 at 07:18 pm