1. 程式人生 > >幾個python運維指令碼

幾個python運維指令碼

這是我以前寫過的一個清除備份檔案的小程式,本來想用批處理來做,但批處理的語法又複雜有怪異,最終還是拿python寫了一個
因為我們的遊戲每隔一小時就會自動產生一個備份,這個程式的作用是跳過最新的7*24個備份,刪除其他的時間更長的。
#表示註釋

# -*- coding: cp936 -*-

import os  #os是python自帶的一個擴充套件庫,用來進行跟系統相關的操作

skipNum = 24 * 7    #保留資料夾的數目(小時 * 天)

print '\n*************清除時間超過 ' + str(skipNum /24) + ' 天的自動備份檔案**************\n\n'

backupDir = os.path.abspath(__file__) + '\\..\\..' + '\\servedatabase_autobackup'
for dir in os.listdir(backupDir):   #os.listdir(xxx)函式返回的是一個檔案列表
    if dir[-4:] == '.map':
        mapDir = backupDir + '\\' + dir
        print '正在清除備份目錄:' + os.path.abspath(mapDir)
        subDirs = os.listdir(mapDir) #獲取檔案列表
        subDirs.reverse()            #逆序
        i = 0
        for subDir in subDirs:
            i+=1
            if i > skipNum:
                print '正在清除備份: ' + subDir 
                os.system('rmdir ' + mapDir + '\\' + subDir + ' /s/q') #相當於執行控制檯命令