臨時目錄或者日志目錄的過期或者無用的文件,需要寫個程序定時清除下N天之前的舊文件, 保證服務器硬盤不那么容易爆滿。
walkFiles 歷遍文件,getCreationTime 獲取文件創建時間, removeFile tryremoveFile 等來自os模塊。
日期時間的運算,需要用到times模塊,getCreationTime 返回的是Time類型,indays now()是datetime類型。需要加上local()轉換成datetime類型。

import os
import times
import strformat
import strutils

const tmpath = "/data/tmp/"
const usage = """

刪除 /data/tmp/ 目錄下的過期文件。

Usage: cleartmp days

參數默認等于:
cleartmp 30

刪除180天以前的文件:
cleartmp 180
"""
echo "---------------------"
echo usage
echo "當前時間:" & $now()

proc cleartmp(): int {.discardable.} =

    var day = 30
    if paramCount() == 1:
        day = parseInt(paramStr(1))

    echo fmt"輸入的天數: {day}"

    for f in walkFiles(tmpath & "*"):
        var fctime = getCreationTime(f).local()

        if indays(now() - fctime) > day:
            result.inc
            removeFile(f)

    echo fmt"清理的文件數量:{result}"
    echo "---------------------\n\n"
 
cleartmp()

代碼是跨平臺的,編譯得到可執行文件:
nim c -d:release cleartmp.nim