濮阳杆衣贸易有限公司

主頁 > 知識庫 > Linux中將執(zhí)行過的命令記錄到日志并發(fā)送到服務(wù)器的方法

Linux中將執(zhí)行過的命令記錄到日志并發(fā)送到服務(wù)器的方法

熱門標簽:申請400電話流程好嗎 高德地圖標注在電腦上 軟件電話機器人 柯城手機地圖如何做地圖標注 小語股票電銷機器人 金華呼叫中心外呼系統(tǒng)廠家 萊蕪移動外呼系統(tǒng) 襄陽地圖標注店 杭州電銷機器人有效果嗎

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

第一種方法

復(fù)制代碼
代碼如下:

# vi /etc/profile
#設(shè)置history格式
export HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] [`who am i 2>/dev/null| \
awk '{print $NF}'|sed -e 's/[()]//g'`] "
#記錄shell執(zhí)行的每一條命令
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;'

第二種方法
第一步:全局設(shè)置(這是一次性設(shè)置,需要root用戶權(quán)限)

復(fù)制代碼
代碼如下:

# vi /etc/profile
#用戶登錄時執(zhí)行此腳本
#設(shè)置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

第二步:不同用戶分別設(shè)置

復(fù)制代碼
代碼如下:

# source /etc/profile
# vi /home/user1/.bash_logout
#當用戶退出登錄時會執(zhí)行此腳本
tmpfile="/tmp/`whoami`_history.tmp"
#把格式化的history記錄到文件里
history > $tmpfile
#讀取文件,一行一行把文件內(nèi)容發(fā)送到給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

(如果還有其它用戶需要監(jiān)控,則重復(fù)第二步驟)
第三步:把日志發(fā)送給遠程主機(可選)

復(fù)制代碼
代碼如下:

# vi /etc/rsyslog.conf
#增加如下行,IP自己換,也可以用域名,@表示用UDP協(xié)議,@@表示用TCP協(xié)議
*.* @192.168.0.1

 
不足之處:
1. 不能實時記錄命令并發(fā)送log
2. 要記錄終端桌面下的命令需要重啟。
=========

標簽:哈密 孝感 昌都 臺州 海東 玉樹 九江 優(yōu)質(zhì)穩(wěn)定

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Linux中將執(zhí)行過的命令記錄到日志并發(fā)送到服務(wù)器的方法》,本文關(guān)鍵詞  Linux,中將,執(zhí),行過,的,命令,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux中將執(zhí)行過的命令記錄到日志并發(fā)送到服務(wù)器的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux中將執(zhí)行過的命令記錄到日志并發(fā)送到服務(wù)器的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    专栏| 盘锦市| 华容县| 二连浩特市| 祁东县| 新郑市| 乌鲁木齐市| 成武县| 嘉峪关市| 苗栗市| 城步| 宣汉县| 临江市| 彰化县| 长武县| 澄城县| 汤原县| 保亭| 明光市| 呼玛县| 泰和县| 玛沁县| 龙胜| 乌什县| 麻江县| 太白县| 山阳县| 建水县| 惠来县| 和平县| 建宁县| 尉氏县| 正镶白旗| 扶沟县| 贞丰县| 新郑市| 丹江口市| 临高县| 车险| 新干县| 鸡泽县|