#!/usr/bin/env python3
#-*- coding:utf-8 -*-
import
math,os,sys,time
import
traceback
import
subprocess
...#
定時任務指令碼,清除大於1g的檔案
...#
定義標準檔案大小,預設是位元組
maxfilesize=1024*1024*1024
#定義檔案路徑
files =
#清除大於1g的檔案
defclearlargefile():
for file,message in
files.items():
filesize =getfilesize(file)
if int(filesize) >=maxfilesize:
result = os.system("
cat /dev/null >
" +file)
checkresult(result,message)
else
:
print("
檔案["+file+"
]大小為[
"+filesize+"
],小於設定的最大值[
"+str(maxfilesize)+"
],無需清空")
#獲取檔案大小
defgetfilesize(file):
linuxcommand = "
ls -l
" + file + "
| awk ''
"print("
獲取檔案大小的linux命令為[
"+linuxcommand+"]"
) output,returncode =executeshell(linuxcommand)
return
output
#執行linux命令獲取返回結果與返回碼
def executeshell(command,print_output=true,universal_newlines=true):
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+"
執行失敗")
#異常的處理
defhandleexcption(e):
print("
<---the excption begin--->")
print('
\n' * 1)
traceback.print_exc()
print('
\n' * 1)
print("
<---the excption end--->")
#最終執行的方法
defexecute():
print("
<---the clearlargefile.py begin--->")
print('
\n' * 1)
try:
clearlargefile()
except
exception as e:
handleexcption(e)
print('
\n' * 1)
print("
<---the clearlargefile.py end--->")
#最終執行
execute()
下面是用系統方法
#!/usr/bin/env python3
#-*- coding:utf-8 -*-
import
math,os,sys,time
import
traceback
import
subprocess
import
datetime
...#
定時任務指令碼,清除大於1g的檔案
...#
定義標準檔案大小,預設是位元組,最終設定大小為1g
maxfilesize=1*1024*1024*1024
#定義檔案路徑
files =
#清除大於1g的檔案
defclearlargefile():
for file,message in
files.items():
filesize =getfilesize(file)
if filesize >=maxfilesize:
result = os.system("
cat /dev/null >
" +file)
checkresult(result,message)
else
:
print("
檔案["+file+"
]大小為[
"+str(filesize)+"
]位元組,小於設定的最大值[
"+str(maxfilesize)+"
]位元組,無需清空")
#獲取檔案大小
defgetfilesize(file):
return
os.path.getsize(file)
#執行linux命令獲取返回結果與返回碼
def executeshell(command,print_output=true,universal_newlines=true):
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+"
執行失敗")
#異常的處理
defhandleexcption(e):
print("
<---the excption begin--->")
print('
\n' * 1)
traceback.print_exc()
print('
\n' * 1)
print("
<---the excption end--->")
#最終執行的方法
defexecute():
print("
<---the clearlargefile.py begin,the time is [
"+datetime.datetime.now().strftime('
%y-%m-%d %h:%m:%s
')+"
]--->")
print('
\n' * 1)
try:
clearlargefile()
except
exception as e:
handleexcption(e)
print('
\n' * 1)
print("
<---the clearlargefile.py end,the time is [
"+datetime.datetime.now().strftime('
%y-%m-%d %h:%m:%s
')+"
]--->")
#最終執行
execute()
shell指令碼定時清除日誌檔案
bin bash clearfile 獲取資料夾內,檔案大小 m為單位 和檔案路徑 呼叫clear函式清空檔案 clear filesizeandfile clear echo 檔案大小 filesize echo 檔案路徑 filepath echo 磁碟空間 disksize 獲取檔名 file...
Linux定時清除檔案
find home dbback mtime 7 name sql.gz exec rm rf find 對應目錄 mtime 天數 name 檔名 exec rm rf 空格 find linux查詢命令,使用者查詢指定條件的檔案 home dbback 需要進行清理的目標目錄 mtime 標準語...
拆分大檔案的指令碼
有時候需要把乙個大檔案拆分成幾個小檔案,由於生產系統上沒有split程式,因此自己寫了兩個指令碼來實現該功能。第乙個指令碼根據行數來拆分 bin bash filename my line split.sh usage my line split.sh 行數 bigfile 拆分的檔案以bigfil...