2015-11-20 39 views
-1

所有創建Linux服務器上的日誌,如何創建shell腳本基於主機

我有一個要求,如果服務器的主機名與TM1開始或DM1那麼它應該如果創建日誌文件GZ1格式,主機名以pc1開頭,然後它應該創建bz1格式的日誌。

我創建了一個通用的shell腳本創建的日誌文件的tar文件:

#!/bin/bash 

#START 
TIME=$(date +%Y%-m%-d)    
FILENAME=logsbackup-$TIME.tar.gz 
SRCDIR=/var/log/ 
DESDIR=/var/   
find $SRCDIR -mtime +1 | xargs tar -cpzf $DESDIR/$FILENAME 
#END 

我如何能實現我的腳本中的上述變化。

回答

4

您可以使用這樣的條件:

#!/bin/bash 

#START 
TIME=$(date +%Y%-m%-d)    
FILENAME=logsbackup-$TIME.tar 
SRCDIR=/var/log/ 
DESDIR=/var/ 
host=$(hostname) 

if [[ $host == @(tm1|dm1)* ]]; then 
    echo "creating gz format" 
    find $SRCDIR -mtime +1 -print0 | xargs -0 tar -cpzf $DESDIR/$FILENAME.gz 
elif [[ $host == pc1* ]]; then 
    echo "creating bz2 format" 
    find $SRCDIR -mtime +1 | xargs -0 tar -cjf $DESDIR/$FILENAME.bz2 
fi 

# END 
+0

我怎麼能在我目前的腳本實現這個 – user3086014

+0

Im做BZ2壓縮http://pastebin.com/32UpnkLn – user3086014

+0

檢查我的答案更新時收到此錯誤爲'bzip2'創建 – anubhava