最近查询日志比较频繁,而ssh登录远程服务器后很快就会过期,再加上多个服务器之间切换,多搞几次之后就有点不爽了😡

安装

sshfs 可很好的解决这个问题,可以用来作为日志服务器(比如可以收集多个服务器的日志,省得切换麻烦)

#安装,如果是Redhat,需要先安装epel,见下面的参考链接
yum install sshfs
  • 优点:只需在一台机器上就可以看所有应用的日志了
  • 缺点:由于我的是本地环境,如果日志量级很大,同步就会占用挺多网络资源,所以最好是线上内网环境

一种是:直接 ssh 到指定目录,可做成 alias 使用,这个很灵活,可以方便的使用:tail、cat、scp等命令

代码清单

ssh root@IP -t "cd /path/logs/; /bin/bash"

另一种解决方案:做成脚本😆

#!/bin/bash
#author:xu3352

SERVER_HOST=IP
SERVER=$1
PARAM=$2

# server name
case $SERVER in
    132)
        SERVER_HOST=IP1
        ;;
    *)
        SERVER_HOST=DEFAULT_IP
        ;;
esac

## functions
function log {
    echo '==========================' `date "+%Y-%m-%d %H:%M:%S"` ':' $1
}

log "you server host is:$SERVER_HOST"

# choose you file path
array=("path1" "path2")
len=${#array[*]}
for (( i=0; i<len; i++ ))
do
    echo "$i ${array[$i]}"
done
echo -n "choose you file path:[num]"
read FILE_INDEX
FILE=${array[$FILE_INDEX]}

## ssh tail file
log "ssh target server $SERVER_HOST and show logs"
ssh -tt root@$SERVER_HOST <<EOF
    tail -200f $FILE
    exit
EOF

# job down
log "log viewer job complate..."

参考:

epel安装,我的是:vim /etc/yum.repos.d/epel.repo ,然后把 mirrorlist 里的 https 改成 http 后OK的



blog comments powered by Disqus

Published

28 February 2017

Tags