Python指令碼,定時刪除歸檔日誌檔案

2022-08-27 05:21:09 字數 2515 閱讀 5464

#

!/usr/bin/env python3

#-*- coding:utf-8 -*-

import

math,os,sys,time

import

traceback

import

subprocess

import

datetime

...#

定時任務指令碼,刪除歸檔日誌檔案

...#

定義前一天的時間

thedaybeforeyesterday = (datetime.date.today() + datetime.timedelta(-2)).strftime('

%y-%m-%d')

#定義檔案路徑

tomcatfilepath =

#清除大於1g的檔案

defcleartomcatarchivelogs():

print("

<---刪除tomcat歸檔日誌檔案--->")

for filepath,message in

tomcatfilepath.items():

linuxcommand = "

rm -rf

" + filepath + "

." + thedaybeforeyesterday + "*"

responsemessage,responsecode =executeshell(linuxcommand)

checkresult(int(responsecode),message)

print("

<---刪除tomcat歸檔日誌檔案--->")

#執行linux命令獲取返回結果與返回碼

def executeshell(command,print_output=true,universal_newlines=true):

print("

需要執行的linux命令為[

"+command+"]"

) p = subprocess.popen(command, stdout=subprocess.pipe, stderr=subprocess.pipe, shell=true, universal_newlines=universal_newlines)

ifprint_output:

output_array =

while

true:

line =p.stdout.readline()

ifnot

line:

break

output =""

.join(output_array)

else

: output =p.stdout.read()

p.wait()

errout =p.stderr.read()

p.stdout.close()

p.stderr.close()

return

str(output),str(p.returncode)

#判斷執行結果

defcheckresult(result,message):

if result ==0:

print(message+"

執行成功")

else

:

print(message+"

執行失敗")

#異常的處理

defprintexcption(e):

print("

<---the excption begin--->")

print('

\n' * 1)

traceback.print_exc()

print('

\n' * 1)

print("

<---the excption end--->")

#最終執行的方法

deffinalexecute():

print("

<---the clearlargefile.py begin,the time is [

"+datetime.datetime.now().strftime('

%y-%m-%d %h:%m:%s

')+"

]--->")

print('

\n' * 1)

try:

cleartomcatarchivelogs()

except

exception as e:

printexcption(e)

print('

\n' * 1)

print("

<---the clearlargefile.py end,the time is [

"+datetime.datetime.now().strftime('

%y-%m-%d %h:%m:%s

')+"

]--->")

#最終執行

finalexecute()

oracle定時刪除歸檔指令碼

bin bash exec delarch date y m d h log oracle home bin rman target 說明 以上指令碼刪除14天以前所有歸檔日誌,同時記錄log oracle home bin rman target 等同於delete noprompt archiv...

RMAN刪除歸檔指令碼

crosscheck archivelog all delete noprompt expired archivelog all delete noprompt archivelog until time sysdate 1 刪除log sequence為16及16之前的所有歸檔日誌 delete ...

Oracle 刪除歸檔日誌指令碼

歸檔日誌記錄著資料庫的操作記錄,是做資料恢復的依據,如果資料庫開啟了歸檔模式,那麼就會產生大量的歸檔日誌,當然如果有rman備份的話,可以在備份之後刪除已經備份過的日誌,如果是沒有採用rman備份的話,就需要自己來刪除這寫歸檔日誌。下面的幾個指令碼就減輕了dba的工作量。linux 平台 0 2 h...