如何写一个 查看服务器日志 脚本

作为一个程序员,怎么能不用一些脚本来做一些神奇的事情呢?最近后台工作很忙,查看日志只能交给我们客户端,不过感觉都是重复性操作,就想着写成一个脚本,遇到了很多问题

一 : 这个脚本的动作是

1 先把本机的用户改为root用户 因为服务器的用户名是root

sudo -i

需要输入密码

2 然后用ssh登陆到服务器

ssh name@domini

然后输入密码

3 然后需要找到对应的位置 tail -f 一下out文件 就可以了

二 : 开始写

1 模拟键盘输入就是输入密码的动作

这个问题百度了一下要安装expect 具体方法就不写了网上一大堆
装好了之后

#!/usr/bin/expect
spawn sudo -i
expect "Password:"
send "你的密码\n"   #此处的\n为模拟键盘的enter键
spawn ssh  name@domini  "tail -f 日志路径"
#ssh name@domini "命令" 此方式是登陆并且执行服务器命令
expect "*password:"
send "你的密码\n"
interact

作为一个程序员应该考虑多一点,比如加一个口令啦,加一个提醒了本以为只是加一个sh的if就可以了,可是怎么在shell里调用expect呢?

2 shell里调用expect

#!/bin/sh
read -p "is lookLog?yes|no:" result
if [ "$result" == "yes" ] #注意这里的写法,[]里两边一定要留空格,不然sh识别不出来
then
echo 'hha'

/usr/bin/expect<

在此说一下timeout,我认为是一个全局的变量,代表等待多长时间就继续执行,因为没有写interact ,而日志要一直监控,所以timeout设置为-1就是一直等待下去

后语:这样你就可以赋执行权限,然后放在桌面,需要的时候只要点击就可以了。

你可能感兴趣的:(如何写一个 查看服务器日志 脚本)