2014-03-04 90 views
0

我目前正在監視日誌文件的數目;特別是那些剛創建的。從我的Linux開始已經很長時間了,經過一些試驗和錯誤之後,我一起入侵了我需要的東西,但它需要全部20秒或更長時間才能返回。我希望我可以讓專家看看它,並提供一些更精簡的建議。Linux找到符號鏈接遞歸和一些額外的

find . -type f -follow -print | xargs ls -ltr 2>/dev/null | grep '2\?10' | tail 

因此,例如找到最後10個匹配名稱的文件。最好我想把它變成一個接受一個參數並替換grep表達式的bash腳本,但是我一次只想到一件事。

感謝您的幫助提前!

回答

0

我咬緊牙關,寫下了腳本;我會稍後再補充一點。

#!/bin/bash 

if [ $# != 2 ]; then 
    echo findLog Usage: findLog [3 digit cluster] [pick 1: main message service detail soap] 
    exit 0 
fi 

if [ "$2" == "service" ]; then 
    file="$2-time-" 
elif [ "$2" == "detail" ]; then 
    file="$2-time-" 
else file="$2-" 
fi 

cluster="$1" 

#store logpaths for readability 
a="/pathto/A" 
b="/pathto/B" 
c="/pathto/C" 
d="/pathto/D" 
e="/pathto/E" 
f="/pathto/F" 
g="/pathto/G" 
h="/pathto/H" 


logpaths=($a $b $c $d $e $f $g $h) 

for i in "${logpaths[@]}" 
do 
    ls -ltr "$i"/*.log | grep "$file"${cluster:0:1}${i: -1}${cluster: -2} 
done