前言
通常而言我们平时是会使用大量的小脚本来做一些重复性质的工作,譬如定时更新网站什么的,这里呢记录一下我这边常用的一些简单的小脚本。
通过 git 定时任务简单的更新网站
网站是通过 github 托管的,得益于一些和 git 相关的 flow 插件,我们可以有效的通过 git 完成自动化构建操作。
但是部署有那么一点麻烦,如果我们通过 git flow 去推送或是通过 git web hook 去操作,着实麻烦了不少。
所以比较简单的方法就是通过定时任务定期去更新一下即可。(所以说是小脚本,如果用上 python 和 node 当然可以通过 web hook 的方式更好的管理,但是事实上通常而言,我们不太需要这一手段)。
一般来说定时任务有下面几个用法:
我们可以创建一个最简单的定时任务脚本来完成定时更新
当然咯这里经常可以碰到一些奇怪的问题,比如 node 这边加载不出 yarn 啊等等的
那么你可以选择:
- 使用绝对路径:
<fake_path>/.nvm/versions/node/v12.13.1/bin/node <fake_path_for_repo>/node_modules/@vue/cli-service/bin/vue-cli-service.js
- 是直接的吧指定的配置文件引入如:
<fake_path>/.bashrc
简单的备份一些存档
我服务器上放置的游戏程序不少,所以理论上都是需要备份数据的,本机备份我是觉得意义不是太大,这里一般会用 cos(腾讯云的对象存储)或是 oss (阿里云的对象存储)。
这里选用腾讯云做例子其他同理:
这样可以简单的备份 → 然后存储到 oss 变成低频存储。
这里需要提一下 关于 cp 的问题,这里尽量不要直接 tar 文件夹,而应该使用 cp 先拷贝出 存档,在做压缩,由于游戏一般情况下是以 5 分钟为间隔保存游戏,我们比较大的情况下 cp 拷贝花费的时间都非小(如果存档已经非常大的情况下应当使用 hash + index 的方式快速检索变更,增量备份,这种就有专门的工具了),而 tar 花费的时间较长,所以使用 cp 可以确保尽可能的在 同一个保存周期里面保存文件。