A. 请教大神linux下把nohup.out日志按日期分别记录
建议你写个脚本,每天指定时间自动备份nohup.out文件,备份名称加上日期就可以了,
使用crontab命令
B. linux中怎样查看日志
方法/步骤
先必须了解两个最基本的命令:
tail -n 10 test.log 查询日志尾部最后10行的日志;
tail -n +10 test.log 查询10行之后的所有日志;
head -n 10 test.log 查询日志文件中的头10行日志;
head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
场景1: 按行号查看---过滤出关键字附近的日志
因为通常时候我们用grep拿到的日志很少,我们需要查看附近的日志.
我是这样做的,首先: cat -n test.log |grep "地形" 得到关键日志的行号
<3>得到"地形"关键字所在的行号是102行. 此时如果我想查看这个关键字前10行和后10行的日志:
cat -n test.log |tail -n +92|head -n 20
tail -n +92表示查询92行之后的日志
head -n 20 则表示在前面的查询结果里再查前20条记录
场景2:那么按日期怎么查呢? 通常我们非常需要查找指定时间端的日志
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效.
关于日期打印,可以先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该时间点,以确保第4步可以拿到日志
这个根据时间段查询日志是非常有用的命令.
如果我们查找的日志很多,打印在屏幕上不方便查看, 有两个方法:
(1)使用more和less命令, 如: cat -n test.log |grep "地形" |more 这样就分页打印了,通过点击空格键翻页
(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析.如:
cat -n test.log |grep "地形" >xxx.txt
这几个日志查看方法应该可以满足日常需求了.
C. linux中如何查看指定时间内的日志如今天6月5日,我要查看6月1日的日志
找到日志文件,使用命令grep来查找文件中的日期,注意日志文件使用的日志格式,如果是“2012-6-1”,就可以用该日期作为关键字在日志文件中搜索。
D. linux中怎么按照时间来查看日志,比如: error.log 我想查看日志中2012年3月31日 12:00 到13:00的内容
cat error.log | sed -n '/Mar 31 12:00:00/,/Mar 31 13:00:00/p'
时间格式换成你log文件的时间格式,且如果你分秒都写上,就必须匹配有,否则你只输内入小时就行,如:容
cat error.log | sed -n '/Mar 31 12:/,/Mar 31 13:/p'
E. Linux鏃ュ織鏌ヨ㈠懡浠linux鏃ュ織鏌ヨ
linux鎬庝箞鏌ョ湅log鏃ュ織锛
linux瀹炴椂鏌ョ湅log鏃ュ織鍛戒护鐨勬柟娉曪細鏌ョ湅涓涓鏂囦欢鎴栬呬竴涓鏃ュ織鏂囦欢锛岄氬父鐢ㄣ恗orexx.log銆戞垨鑰卌at鏌ョ湅锛岄渶瑕佸疄鏃剁殑鏌ョ湅杩愯屾棩蹇楋紝浣跨敤tail鍛戒护鏉ユ煡鐪嬶紝浠g爜涓恒恡ail-fxx.log銆戙
linux涓嬫煡鎵炬棩蹇楃殑鎶宸э紵
鍏堝繀椤讳簡瑙d袱涓鏈鍩烘湰鐨勫懡浠:
tail-n10test.log鏌ヨ㈡棩蹇楀熬閮ㄦ渶鍚10琛岀殑鏃ュ織;
tail-n+10test.log鏌ヨ10琛屼箣鍚庣殑鎵鏈夋棩蹇;
head-n10test.log鏌ヨ㈡棩蹇楁枃浠朵腑鐨勫ご10琛屾棩蹇;
head-n-10test.log鏌ヨ㈡棩蹇楁枃浠堕櫎浜嗘渶鍚10琛岀殑鍏朵粬鎵鏈夋棩蹇;
鍦烘櫙1:鎸夎屽彿鏌ョ湅---杩囨护鍑哄叧閿瀛楅檮杩戠殑鏃ュ織
鍥犱负閫氬父鏃跺欐垜浠鐢╣rep鎷垮埌鐨勬棩蹇楀緢灏,鎴戜滑闇瑕佹煡鐪嬮檮杩戠殑鏃ュ織.鎴戞槸杩欐牱鍋氱殑,棣栧厛:cat-ntest.log|grep"鍦板舰"寰楀埌鍏抽敭鏃ュ織鐨勮屽彿銆
3>寰楀埌"鍦板舰"鍏抽敭瀛楁墍鍦ㄧ殑琛屽彿鏄102琛.姝ゆ椂濡傛灉鎴戞兂鏌ョ湅杩欎釜鍏抽敭瀛楀墠10琛屽拰鍚10琛岀殑鏃ュ織:
cat-ntest.log|tail-n+92|head-n20
tail-n+92琛ㄧず鏌ヨ92琛屼箣鍚庣殑鏃ュ織
head-n20鍒欒〃绀哄湪鍓嶉潰鐨勬煡璇㈢粨鏋滈噷鍐嶆煡鍓20鏉¤板綍
鍦烘櫙2:閭d箞鎸夋棩鏈熸庝箞鏌ュ憿?閫氬父鎴戜滑闈炲父闇瑕佹煡鎵炬寚瀹氭椂闂寸鐨勬棩蹇
sed-n'/2014-12-1716:17:20/,/2014-12-1716:17:36/p'test.log鐗瑰埆璇存槑:涓婇潰鐨勪袱涓鏃ユ湡蹇呴』鏄鏃ュ織涓鎵撳嵃鍑烘潵鐨勬棩蹇,鍚﹀垯鏃犳晥.銆傚叧浜庢棩鏈熸墦鍗,鍙浠ュ厛grep-12-1716:17:20'test.log鏉ョ‘瀹氭棩蹇椾腑鏄鍚︽湁璇ユ椂闂寸偣,浠ョ‘淇濈4姝ュ彲浠ユ嬁鍒版棩蹇
杩欎釜鏍规嵁鏃堕棿娈垫煡璇㈡棩蹇楁槸闈炲父鏈夌敤鐨勫懡浠.
濡傛灉鎴戜滑鏌ユ壘鐨勬棩蹇楀緢澶,鎵撳嵃鍦ㄥ睆骞曚笂涓嶆柟渚挎煡鐪,鏈変袱涓鏂规硶:
(1)浣跨敤more鍜宭ess鍛戒护,濡:cat-ntest.log|grep"鍦板舰"|more杩欐牱灏卞垎椤垫墦鍗颁簡,閫氳繃鐐瑰嚮绌烘牸閿缈婚〉
(2)浣跨敤>xxx.txt灏嗗叾淇濆瓨鍒版枃浠朵腑,鍒版椂鍙浠ユ媺涓嬭繖涓鏂囦欢鍒嗘瀽.濡:
cat-ntest.log|grep"鍦板舰">xxx.txt
linux鎬庢牱瀹炴椂鏌ョ湅鏃ュ織鏂囦欢锛
瑕佺湅浣犳兂鏌ヤ粈涔堟牱鐨勬棩蹇椾簡锛宭inux涓嬮潰鏃ュ織鏈夊緢澶氾紝鏈夌郴缁熺殑锛屾湁搴旂敤鐨勩傚傛灉鏄绯荤粺涓嬮潰鐨勬棩蹇楋紝涓鑸閮藉湪/var/log涓嬮潰銆
濡傛灉鏄鐪嬪簲鐢ㄦ棩蹇楋紝閭e氨鍒板簲鐢ㄦ棩蹇楁墍鍦ㄧ洰褰曞幓鐪嬶紝杩欎釜瑕佺湅鍏蜂綋搴旂敤锛屾瘡涓鐨勮矾寰勯兘涓嶄竴鏍枫
涓鑸鏌ョ湅鏃ュ織锛屽彲浠ョ湅闈欐佹棩蹇楋紝涔熷氨鏄鐢'vi鏃ュ織鏂囦欢鍚'锛屾垨鑰呯敤more涔嬬被鐨勫伐鍏锋煡鐪嬨
杩樺彲浠ョ湅鍔ㄦ佹棩蹇楋紝鐢'tail-f鏃ュ織鏂囦欢鍚'锛屽彲浠ュ疄鏃舵煡鐪嬫墦鍛戒护涔嬪悗浜х敓鐨勬墍鏈夋柊鏃ュ織銆
linux搴旂敤涓绘満濡備綍鏌ョ湅閿欒鏃ュ織锛
浠ヤ笅鏄濡備綍鏌ョ湅閿欒鏃ュ織鏂规硶锛屼粎渚涘弬鑰冦
1銆佽繛鎺ヤ笂鐩稿簲鐨刲inux涓绘満锛岃繘鍏ュ埌绛夊緟杈撳叆shell鎸囦护鐨刲inux鍛戒护琛岀姸鎬佷笅銆
2銆佸叾娆★紝鍦╨inux鍛戒护琛屼腑杈撳叆锛歵ail/var/log/messages銆
3銆佹渶鍚庯紝鎸変笅鍥炶溅閿鎵ц宻hell鎸囦护锛屾ゆ椂浼氱湅鍒發inux鐨勯敊璇鏃ュ織琚鎵撳嵃鍑恒
F. Linux运维知识:从命令行如何查看Linux日志
(1)tail:
-n 是显示行号;相当于nl命令;例子如下:
tail -100f test.log 实时监控100行日志
tail -n 10 test.log 查询日志尾部最后10行的日志;
tail -n +10 test.log 查询10行之后的所有日志;
(2)head:
跟tail是相反的,tail是看后多少行日志;例子如下:
head -n 10 test.log 查询日志文件中的头10行日志;
head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
(3)cat:
tac是倒序查看,是cat单词反写;例子如下:
cat -n test.log |grep "debug" 查询关键字的日志
(1)cat -n test.log |grep "debug" 得到关键日志的行号
(2)cat -n test.log |tail -n +92|head -n 20 选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:
tail -n +92表示查询92行之后的日志
head -n 20 则表示在前面的查询结果里再查前20条记录
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;
先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点
(1)使用more和less命令,
如: cat -n test.log |grep "debug" |more 这样就分页打印了,通过点击空格键翻页
(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析
如:cat -n test.log |grep "debug" >debug.txt