2013-04-16 110 views
1

沒有與在Python腳本像這樣的參數的命令重定向WLST命令在Python腳本文件的

ThreadDump(「真」,「位置」,服務器名稱)

上述命令是一個wlst命令,它爲該服務器提供線程轉儲,並將轉儲文件重定向到該位置以及該位置中的那個文件。

但是,ThreadDump()在1到6的for循環中,所以線程轉儲必須發生5次,並且每次都需要將轉儲信息附加到文件中。

使用> &選項嘗試將python文件的整個輸出轉換爲另一個文件,但問題在於存在正在運行的CRON作業,並且原始轉儲信息正在被新信息重寫。

所以,只需要重定向和追加上述命令

ThreadDump( '真', '位置', '服務器名')到一個文件>> /目錄/ NEWDIR /文件

或ThreadDump ('true','location','servername')到文件> &/dir/newdir /文件

回答

1

如果您可以重定向腳本的輸出,並且在文件中使用threaddump,並且只有使用運行此腳本的cron作業,嘗試編輯crontab以添加>>(2> & 1用於指示標準輸出到標準輸出):

*/15 * * * * /path/to/shell/script.sh >> /www/logs/script.log 2>&1 
0

這將是更容易的原代碼樣本理解,但我認爲,也許你可以這樣做

import os 
import fileinput 

for i, whatever in enumerate(list_of_threads_or_something): 
    ThreadDump('true', 'location' + str(i), servername) 
    # do whatever else you need to do 

locations = ['location'+str(i) for i in range(6)] 
with fileinput.input(locations) as f, open('location', 'w') as fout: 
    for line in f: 
     fout.write(line) 

for loc in locations: 
    os.remove(loc) 

變化'location'需要

+0

我可以做一個開放( 'location'+ str(i),'w')??? – ameya

+0

當然,爲什麼不呢? – berdario

相關問題