暂无图片
LINUX问题,关于巡检日志文件的查看
我来答
分享
Thomas
2022-10-12
LINUX问题,关于巡检日志文件的查看

每天凌晨,系统会生成当日巡检日志,格式为:SIDYYYYMMDD.log, 比如SID为orcl, 今天的日志就是orcl20221012.log。每天都要查看当天的日志,例如more orcl20221012.log。有没有一种方法,类似软链接或alias,使得我敲:rz, 就自动打开当天的巡检日志。 比如在.bash_profile里设置

alias rz=more 'orcl||。。。。省略号部分表示诸如20221012.log之类内容,但这个内容必须把日期指向当天。

我来答
添加附件
收藏
分享
问题补充
6条回答
默认
最新
张sir

写一个shell脚本:

root@e58b46689c90:/# cat read_log.sh
#!/bin/bash
Time=`date +%Y%m%d`
SID=`ps -ef|grep ckpt |grep -v grep |awk '{print $8}' | awk -F'_' '{print $3}'`
Log=${SID}${Time}.log
more /$Log

把这个脚本放到/usr/bin目录下,命名为read_log,这样可以直接执行命令read_log就能打开日志了。

暂无图片 评论
暂无图片 有用 2
暂无图片
农夫三拳

alias rz='more /AAA/BBBB/orcl`date +"%Y%m%d"`.log'


有设置ORACLE_SID的话,取环境变量

alias rz='more /AAA/bbb/${ORACLE_SID}`date +"%Y%m%d"`.log'

暂无图片 评论
暂无图片 有用 1
李宏达
cat orcl`date "+%Y%m%d"`.log
暂无图片 评论
暂无图片 有用 1
Thomas

谢谢三位!你们的答案都挺好的。但只能采纳一位的方案,只好选字数最多的张sir的了。

暂无图片 评论
暂无图片 有用 2
Thomas

新问题,我对LINUX不熟: 在/usr/bin下,可正常执行。但在其它目录下不行。可是PATH变量里有/usr/bin啊。其二入药执行,每次都得敲./read_log.sh吗?能否简化下,敲read_log就可以?

[root@iZ25jhvkfvmZ u01]# cd /usr/bin
[root@iZ25jhvkfvmZ bin]# ./read_log.sh
89
90
91
[root@iZ25jhvkfvmZ bin]# read_log
bash: read_log: command not found...
[root@iZ25jhvkfvmZ bin]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@iZ25jhvkfvmZ bin]# cd /u01
[root@iZ25jhvkfvmZ u01]# ./read_log.sh
-bash: ./read_log.sh: No such file or directory

暂无图片 评论
暂无图片 有用 1
李宏达
2022-10-12
./ 表示执行当前文件shell,和你在哪个目录没关系,和你文件在哪个目录有关系。直接执行read_log.sh ,或者把源文件mv成read_log
张sir
2022-10-12
你把read_log.sh去掉.sh放到/usr/bin目录下。
Thomas

张sir李宏达,解决了,谢谢!

暂无图片 评论
暂无图片 有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏