server那点事
现在的情况是,需要看服务器的日志,首先要ssh连接上服务器,然后cd到项目下,$ tail -f your_log_file
如果偶尔这样那无所谓,然而现实情况是经常需要上server看日志,在没有日志收集系统的情况下,每次这么一堆操作很繁琐。
强迫症的我,只好写了一个方便干这个事情的程序,是用ruby写的,下面直接贴代码
# ~/ruby_programs/glog.rb
$time = Time.now.strftime "%Y%m%d"
$env = ARGV[1] || 'dev'
def tail_your_log1
case $env
when 'dev'
system "ssh dev 'tail -f /var/www/project1/log/*#{$time}*'"
when 'stag'
system "ssh staging 'tail -f /var/www/project1/log/*#{$time}*'"
else
p 'unkown env'
end
end
def tail_your_log2
case $env
when 'dev'
system "ssh dev 'tail -f /var/www/project2/log/*#{$time}*'"
when 'stag'
system "ssh staging 'tail -f /var/www/project2/log/*#{$time}*'"
else
p 'unkown env'
end
end
tail_your_log1 if 'proj_name1' == ARGV[0]
tail_your_log2 if 'proj_name2' == ARGV[0]
不过使用上述有个背景,把测试或者staging或者production环境的服务器添加了免密登录,同时,每天的log文件不一样,命名里含有日期,如果你当前环境的log文件只有一个,可以把time去掉。
最后,在终端配置文件里给当前文件设置alias:
$ vi ~/.bash_profile
在里面加入这一行:
alias glog="ruby ~/ruby_programs/glog.rb"
再然后,重启终端或者$ source ~/.bash_profile
如果你用的是其他shell,在对应配置文件里加上source ~/.bash_profile
即可
最后使用方法:
$ glog proj_name1
$ glog proj_name2 stag
发表于 2018.06.26
© 自由转载 - 非商用 - 非衍生 - 保持署名