Python论坛  - 讨论区

标题:删除不同文件的历史版本

2013年02月18日 星期一 16:58

服务器上有个目录是专门存放war包的,随着时间积累,这些war包的历史版本越来越多,需要清理。
现在想用python写个脚本定期执行,请各位大牛指点。

目录结构如下:

war
├─1.1.0
│  ├─app-a
│  │  ├─01
│  │  │      app-a-1.1.0.1.war
│  │  │     
│  │  ├─02
│  │  │      app-a-1.1.0.2.war
│  │  │     
│  ├─app-b
│  │  ├─01
│  │  │      app-b-1.1.0.1.war
│  │  │     
│  │  ├─03
│  │  │      app-b-1.1.0.3.war
│  │  │     
├─1.2.0
│  ├─app-a
│  │  ├─01
│  │  │      app-a-1.2.0.1.war
│  │  │     
│  │  ├─05
│  │  │      app-a-1.2.0.5.war
│  │  │     
│  ├─app-c
│  │  ├─04
│  │  │      app-c-1.2.0.4.war
│  │  │     
│  │  ├─05
│  │  │      app-c-1.2.0.5.war
│  │  │     

2013年03月20日 星期三 18:23

可以这样:

WAR_DIR = '<YOUR WAR ROOT PATH>'
MAX_NUMBER_OF_HISTORY_VERSION = 20

def get_version_list():
    result = []
    depth = 0
    for dirname, dirnames, filenames in os.walk(WAR_DIR):
        depth += 1
        if depth == 2:
            for dirname in dirnames:
                version = dirname
                result.append(version)
            break
    # sort by version
    return sorted(result, reverse=True)

def cleanup():
    version_list = get_version_list()
    if len(version_list) > MAX_NUMBER_OF_HISTORY_VERSION:
        delete_version_list = version_list[MAX_NUMBER_OF_HISTORY_VERSION:]
        for version in delete_version_list:
            # 删除这些版本的文件
            ....

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号