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