linux服务器代码版本指定个数版本的方法
栏目:
Linux
发布时间:2024-11-01
我们在部署项目代码时,通常都会在服务端保留至少 3 个历史版本,方便做代码回滚。
今天我们就来聊一聊在 linux 服务器上要如何实现自动保留指定数量的代码版本。
假设当前目录有5个目录:
version-a
version-b
version-c
version-d
version-e
linux 保留 3 个版本代码的 shell 脚本:
ls | grep -vE $(ls -t | head -n 3 | tr '\n' '|')whatever | xargs rm -rf
执行上述命令后我们得到:
version-e
version-d
version-c
命令拆解之 grep
grep
ls | grep version
ls | grep -v 'version-a'
ls | grep -v 'version-a' | grep -v 'version-b'
ls | grep -vE 'version-a|version-b'
命令拆解之 head 的用法
head
ls | head -n 3
命令拆解之 xargs 的用法
ls | xargs rm -rf
ls | grep -v version-a | xargs rm -rf
命令拆解之 tr 的用法
echo hi | tr i a
echo hi | tr a-z A-Z
echo hi | tr [:lower:] [:upper:]
小结
linux 保留指定数量版本的代码实现原理(以保留 3 个版本为例): 1、使用 ls -t 将代码目录倒序排序 2、使用 head -n 3 取到最新的 3 个代码目录 3、使用 grep -vE 排除最新的 3 个版本 4、使用 rm -rf 删除多余的版本
即:
ls | grep -vE $(ls -t | head -n 3 | tr '\n' '|')whatever | xargs rm -rf
本文地址:https://www.tides.cn/p_linux-deploy-version-manage