#!/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...