把history傳至ELK

把history傳至ELK

#!/usr/bin/env python
# -*- coding:utf-8 -*-

__author__ = "jihongrui@jsqix.com"

# import subprocess
import time
import socket
# import shlex
import os
import shutil


#def bash(cmd):
#        """
#            run a bash shell command
#            執(zhí)行bash命令
#        """
#        return shlex.os.system(cmd)
#
#def return_bash(cmd):
#    """
#    執(zhí)行CMD or bash 命令,返回結(jié)果
#    """
#    return_command = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
#    return return_command.stdout.read().strip().split()

# def read_file_get_data(history_file):
#     """
#       傳入history記錄文件,轉(zhuǎn)換為列表,可直接批量插入mysql
#       [(root,192.168.1.2,ls-l),(...)]
#      """    
#     f = open(history_file, "r")
#     lines = f.readlines()  # 讀取全部?jī)?nèi)容
#     Lists = []
#     for line in lines:
#         line = line.replace('#', '')
#         line = line.replace('\n', '')
#         Lists.append(line)
#
#     data = zip(Lists[::2], Lists[1::2])
#     return data


def get_hist_cmds(user,ip,date,history_file):
    "傳入一個(gè)history文件,返回命令列表"
    f = open(history_file, "r")
    lines = f.readlines()  # 讀取全部?jī)?nèi)容
    hist_cmds = []
    while len(lines):
        hist_time = time.localtime(int(lines.pop(0).replace('#', '').replace('\n', '')))
        timeStr = time.strftime("%Y%m%d%H%M%S", hist_time)
        hist = timeStr + '    ' + lines.pop(0)
        hist_cmds.append(hist)
    for hist_msg in hist_cmds:
        msg = "user: %s ,user_login_ip: %s ,login_time: %s ,[ %s ]" % (user,ip,date,hist_msg)
        s.sendto(msg, address) # 通過UDP傳送至logstash




if __name__ == '__main__':
    ""
    address = ('192.168.80.80', 50514)
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    bak_dir = "/var/log/hist_bak/"
    
    dir = "/var/log/.hist/"
    users = os.listdir(dir)
    for user in users:
        user_bak_dir = "%s%s" % (bak_dir,user)
        if not os.path.exists(user_bak_dir):
            os.makedirs(user_bak_dir)
        user_dir = dir + user
        hist_files = os.listdir(user_dir)
        for hist in hist_files:
            List_hist = hist.split('.hist.')
            user_ip = List_hist[0]
            user_date = List_hist[-1][0:8] + List_hist[-1][9:]
            hist_file = "%s%s/%s" % (dir, user, hist)
            bak_hist_file = "%s/%s" % (user_bak_dir,hist)
            get_hist_cmds(user,user_ip,user_date,hist_file)
            shutil.move(hist_file,bak_hist_file)
    s.close()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末觅赊,一起剝皮案震驚了整個(gè)濱河市钧椰,隨后出現(xiàn)的幾起案子吠式,更是在濱河造成了極大的恐慌帮坚,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡重父,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門忽匈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來房午,“玉大人,你說我怎么就攤上這事丹允」幔” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵雕蔽,是天一觀的道長(zhǎng)折柠。 經(jīng)常有香客問我,道長(zhǎng)批狐,這世上最難降的妖魔是什么扇售? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮嚣艇,結(jié)果婚禮上承冰,老公的妹妹穿的比我還像新娘。我一直安慰自己食零,他們只是感情好困乒,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著慌洪,像睡著了一般顶燕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上冈爹,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天涌攻,我揣著相機(jī)與錄音,去河邊找鬼频伤。 笑死恳谎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的憋肖。 我是一名探鬼主播因痛,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼岸更!你這毒婦竟也來了鸵膏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤怎炊,失蹤者是張志新(化名)和其女友劉穎谭企,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體评肆,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡债查,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瓜挽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盹廷。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖久橙,靈堂內(nèi)的尸體忽然破棺而出俄占,到底是詐尸還是另有隱情,我是刑警寧澤淆衷,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布颠放,位于F島的核電站,受9級(jí)特大地震影響吭敢,放射性物質(zhì)發(fā)生泄漏碰凶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一鹿驼、第九天 我趴在偏房一處隱蔽的房頂上張望欲低。 院中可真熱鬧,春花似錦畜晰、人聲如沸砾莱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽腊瑟。三九已至聚假,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間闰非,已是汗流浹背膘格。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留财松,地道東北人瘪贱。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像辆毡,于是被迫代替她去往敵國(guó)和親菜秦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容