如何根据主机名创建用于在linux服务器上创建日志的shell脚本

时间:2015-11-20 06:36:47

标签: linux bash 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 

如何在我的脚本中实现上述更改。

1 个答案:

答案 0 :(得分: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