日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux日志发送,Linux中将执行过的命令记录到日志并发送到服务器的方法

發布時間:2025/4/5 linux 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux日志发送,Linux中将执行过的命令记录到日志并发送到服务器的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

工作中,需要把用戶執行的每一個命令都記錄下來,并發送到日志服務器的需求,為此我做了一個簡單的解決方案。這個方案會在每個用戶退出登錄 時把用戶所執行的每一個命令都發送給日志守護進程rsyslogd,你也可通過配置“/etc/rsyslog.conf”進一步將日志發送給日志服務器

第一種方法

復制代碼

代碼如下:

# vi /etc/profile

#設置history格式

export HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] [`who am i 2>/dev/null| \

awk '{print $NF}'|sed -e 's/[()]//g'`] "

#記錄shell執行的每一條命令

export PROMPT_COMMAND='\

if [ -z "$OLD_PWD" ];then

export OLD_PWD=$PWD;

fi;

if [ ! -z "$LAST_CMD" ] && [ "$(history 1)" != "$LAST_CMD" ]; then

logger -t `whoami`_shell_cmd "[$OLD_PWD]$(history 1)";

fi ;

export LAST_CMD="$(history 1)";

export OLD_PWD=$PWD;'

第二種方法

第一步:全局設置(這是一次性設置,需要root用戶權限)

復制代碼

代碼如下:

# vi /etc/profile

#用戶登錄時執行此腳本

#設置history顯示格式

export HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] [`who am i 2>/dev/null\

| awk '{print $NF}'|sed -e 's/[()]//g'`] "

#登錄時清空當前緩存 echo "" > .bash_history

第二步:不同用戶分別設置

復制代碼

代碼如下:

# source /etc/profile

# vi /home/user1/.bash_logout

#當用戶退出登錄時會執行此腳本

tmpfile="/tmp/`whoami`_history.tmp"

#把格式化的history記錄到文件里

history > $tmpfile

#讀取文件,一行一行把文件內容發送到給syslogd。

#不要試圖用"history | logger"或"logger -f $tmpfile"來替代下面的代碼,

#否則將只能記錄前200行。

k=1

while read line; do

((k++))

logger -t `whoami`_shell_cmd "$line"

done < $tmpfile

rm -f $tmpfile

(如果還有其它用戶需要監控,則重復第二步驟)

第三步:把日志發送給遠程主機(可選)

復制代碼

代碼如下:

# vi /etc/rsyslog.conf

#增加如下行,IP自己換,也可以用域名,@表示用UDP協議,@@表示用TCP協議

*.* @192.168.0.1

不足之處:

1. 不能實時記錄命令并發送log

2. 要記錄終端桌面下的命令需要重啟。

=========

總結

以上是生活随笔為你收集整理的linux日志发送,Linux中将执行过的命令记录到日志并发送到服务器的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。