linux日誌輸出
❶ linux如何看系統日誌
last
-a 把從何處登入系統的主機名稱或ip地址,顯示在最後一行。
-d 指定記錄文件。指定記錄文件。將IP地址轉換成主機名稱。
-f <記錄文件> 指定記錄文件。
-n <顯示列數>或-<顯示列數> 設置列出名單的顯示列數。
-R 不顯示登入系統的主機名稱或IP地址。
-x 顯示系統關機,重新開機,以及執行等級的改變等信息
以下看所有的重啟、關機記錄
last | grep reboot
last | grep shutdown
history
列出所有的歷史記錄:
[zzs@Linux] # history
只列出最近10條記錄:
[zzs@linux] # history 10 (注,history和10中間有空格)
使用命令記錄號碼執行命令,執行歷史清單中的第99條命令
[zzs@linux] #!99 (!和99中間沒有空格)
重復執行上一個命令
[zzs@linux] #!!
執行最後一次以rpm開頭的命令(!? ?代表的是字元串,這個String可以隨便輸,Shell會從最後一條歷史命令向前搜索,最先匹配的一條命令將會得到執行。)
[zzs@linux] #!rpm
逐屏列出所有的歷史記錄:
[zzs@linux]# history | more
立即清空history當前所有歷史命令的記錄
[zzs@linux] #history -c
cat, tail 和 watch
系統所有的日誌都在 /var/log 下面自己看(具體用途可以自己查,附錄列出一些常用的日誌)
cat /var/log/syslog 等
cat /var/log/*.log
tail -f
如果日誌在更新,如何實時查看 tail -f /var/log/messages
還可以使用 watch -d -n 1 cat /var/log/messages
-d表示高亮不同的地方,-n表示多少秒刷新一次。
該指令,不會直接返回命令行,而是實時列印日誌文件中新增加的內容,
這一特性,對於查看日誌是非常有效的。如果想終止輸出,按 Ctrl+C 即可。
除此之外還有more, less ,dmesg|more,這里就不作一一列舉了,因為命令太多了,關鍵看個人喜好和業務需求.個人常用的就是以上那些
linux日誌文件說明
/var/log/message 系統啟動後的信息和錯誤日誌,是Red Hat Linux中最常用的日誌之一
/var/log/secure 與安全相關的日誌信息
/var/log/maillog 與郵件相關的日誌信息
/var/log/cron 與定時任務相關的日誌信息
/var/log/spooler 與UUCP和news設備相關的日誌信息
/var/log/boot.log 守護進程啟動和停止相關的日誌消息
/var/log/wtmp 該日誌文件永久記錄每個用戶登錄、注銷及系統的啟動、停機的事件
❷ 怎麼查看linux環境下tomcat的輸出日誌
tail -f catalina.out
就能實時查看tomcat的日誌輸出
如果文件過大重定向清空就行,不會影響項目功能
在tomcat主目錄下執行下面命令找出他的位置就行了
find . -name "catalina.out"
❸ linux下怎麼把日誌拷貝出來
1、首先進入系統日誌,所有服務的登錄的文件或錯誤信息文件,都在/var/log/記錄下來 cd /var/log/。
❹ 如何實時查看linux下的日誌
1.如下圖所示,先cd到我們需要監控的日誌目錄。
(4)linux日誌輸出擴展閱讀:
Linux完全兼容POSIX1.0標准
這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉到Linux奠定了基礎。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。
Linux支持多種平台
Linux可以運行在多種硬體平台上,如具有x86、680x0、SPARC、Alpha等處理器的平台。此外Linux還是一種嵌入式操作系統,可以運行在掌上電腦、機頂盒或游戲機上。2001年1月份發布的Linux 2.4版內核已經能夠完全支持Intel64位晶元架構。同時Linux也支持多處理器技術。多個處理器同時工作,使系統性能大大提高。
❺ linux 怎麼將一個會更新的日誌不停輸出到另一個文件
你好,如果linux機器上有一個日誌文件不停的在更新,現在需要當它更新時把更新的機型同步到另外一個文件中
❻ 求LINUX下,C語言編寫的日誌輸出源碼~
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <dirent.h>
#include <time.h>
#define LOGFILE "./dir_log_0"
int g_Count;
//#define MAXLEN 1024
void WriteDebugLog(char *str);
int main(int argc, char **argv)
{
char str[1024]={0};
strcpy(str,"file no find");
int i=0,j=0;
for (i=0; i<10; i++)
{
for (j=0; j<50; j++)
{
WriteDebugLog(str);
}
}
return 0;
}
void WriteDebugLog(char *str)
{
char buf[2048]={0};
char logFileName[50]={0};
//long MAXLEN = 50*1024*1024;//50MB
int iMax = 1024;//1K
time_t timep;
FILE *fp = NULL;
struct tm *p;
time(&timep);
p = localtime(&timep);
memset(buf,0,sizeof(buf));
sprintf(buf,"[%d-%d-%d %d:%d:%d][DEBUG]",(1900+p->tm_year),(1+p->tm_mon), p->tm_mday,p->tm_hour, p->tm_min, p->tm_sec); //星期p->tm_wday
strcat(buf,str);
strcat(buf," ");
strcpy(logFileName,LOGFILE);
int len = strlen(logFileName);
logFileName[len-1] = Ɔ'+g_Count;
fp = fopen(logFileName,"r");
if(fp==NULL)
{
fp = fopen(logFileName,"w+");
}
else
{
fseek(fp,0,2);//SEEK_END值為2
if( ftell(fp) >= iMax)
{
fclose(fp);
if (g_Count >= 9)
{
logFileName[len-1] = Ɔ'
g_Count=0;
}
else
{
g_Count++;
logFileName[len-1] = Ɔ'+g_Count;
// printf(" %c",Ɔ'+g_Count);
}
fp = fopen(logFileName,"w+");
}
else
{
fclose(fp);
fp = fopen(logFileName,"a");
}
}
fwrite(buf,1,strlen(buf),fp);
fclose(fp);
}
❼ Linux 普通用戶的日誌指定輸出到root許可權的日誌文檔下會有什麼影響
Linux 普通用戶的日誌指定輸出到root許可權的日誌文檔下,是有前提的。
變通用戶到被寫入日誌文檔有w許可權才可以出到root許可權的日誌文檔下。《Linux就該這么學》
不會改文檔的屬組。
❽ 如何將linux伺服器上的日誌導出
導出方法有很多,這里推薦給你一個最方便的方法:
進入到日誌存放目錄,假設要導出的日誌文件名為 a.log
通過 ifconfig 命令獲取伺服器 ip
利用python的輔助工具監聽80埠,前提是有root許可權,命令為:
python-mSimpleHTTPServer80
直接從伺服器ip的80埠下載 a.log 就行:如果本地是windows,通過瀏覽器訪問 http://server_ip/a.log 即可下載;如果本地是linux,通過命令行執行命令 wget http://server_ip/a.log 即可下載
❾ linux怎麼導出日誌最後n行
使用 tail命令,如#tail -n 20 filename
說明:顯示filename最後20行。
linux tail命令的使用方法詳解
本文介紹Linux下tail命令的使用方法。
linux tail命令用途是依照要求將指定的文件的最後部分輸出到標准設備,通常是終端,通俗講來,就是把某個檔案文件的最後幾行顯示到終端上,假設該檔案有更新,tail會自己主動刷新,確保你看到最新的檔案內容。
一、tail命令語法
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
參數解釋:
-f 該參數用於監視File文件增長。
-c Number 從 Number 位元組位置讀取指定文件
-n Number 從 Number 行位置讀取指定文件。
-m Number 從 Number 多位元組字元位置讀取指定文件,比方你的文件假設包括中文字,假設指定-c參數,可能導致截斷,但使用-m則會避免該問題。
-b Number 從 Number 表示的512位元組塊位置讀取指定文件。
-k Number 從 Number 表示的1KB塊位置讀取指定文件。
File 指定操作的目標文件名稱
上述命令中,都涉及到number,假設不指定,默認顯示10行。Number前面可使用正負號,表示該偏移從頂部還是從尾部開始計算。
tail可運行文件一般在/usr/bin/以下。
二、tail命令使用方法演示例子
1、tail -f filename
說明:監視filename文件的尾部內容(默認10行,相當於增加參數 -n 10),刷新顯示在屏幕上。退出,按下CTRL+C。
2、tail -n 20 filename
說明:顯示filename最後20行。
3、tail -r -n 10 filename
說明:逆序顯示filename最後10行。
補充:
跟tail功能相似的命令還有:
cat 從第一行開始顯示檔案內容。
tac 從最後一行開始顯示檔案內容。
more 分頁顯示檔案內容。
less 與 more 相似,但支持向前翻頁
head 僅僅顯示前面幾行
tail 僅僅顯示後面幾行
n 帶行號顯示檔案內容
od 以二進制方式顯示檔案內容
❿ linux怎麼在程序中用自定義日誌文件輸出信息
很簡單, 打開文件/寫入文件.
bash腳本: echo "message" >> /path/to/yourlogfile
c: 這個就不用說了吧, fopen("/path/to/yourlogfile", "a"); 然後調用fwrite
如果希望printf/fprintf(stderr,等標准輸出/標准錯誤輸出直接輸出到日誌, 用p2:
#include <stdio.h>
#include <unistd.h>
int main()
{
FILE *fp = fopen("log.txt", "a");
if(fp){
int no = fileno(fp);
p2(no, 1);
p2(no, 2);
printf("stdout log\n");
fprintf(stderr, "stderr log\n");
fclose(fp);
}
return 0;
}