1. 程式人生 > >python指令碼方式每分鐘生成日誌

python指令碼方式每分鐘生成日誌

vi generate.py
程式碼

#coding=UTF-8

import random
import time

# url
url_paths = [
    "class/112.html",
    "class/128.html",
    "class/145.html",
    "class/146.html",
    "class/131.html",
    "class/130.html",
    "learn/821",
    "course/list"
]

# 搜尋引擎
http_referers = [
    "http://www.baidu.com/s?wd={query}"
, "https://www.sougou.com/web?query={query}", "http://cn.bing.com/search?q={query}", "https://search.yahoo.com/search?q={query}" ] # 搜尋的課程名字 search_keyword = [ "Spark SQL實戰", "Hadoop基礎", "Storm實戰", "Spark Streaming實戰", "大資料面試" ] #IP ip_silces = [132,158,192,10,20,55,89,165,153
,189,5,42,87,8,99,199,64,12,214,220,55,4,78,63] # 狀態碼 status_codes = ["200","404","500"] def sample_url(): return random.sample(url_paths,1)[0] def sample_ip(): slice = random.sample(ip_silces,4) return ".".join([str(item) for item in slice]) def sample_referer(): if random.uniform(0,1) >
0.2: return "-" refer_str = random.sample(http_referers,1) query_str = random.sample(search_keyword,1) return refer_str[0].format(query = query_str[0]) def sample_status_code(): return random.sample(status_codes,1)[0] def generate_log(count = 100): time_str = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) f = open("/root/zoujc/logs.txt","w+") while count >= 1: query_log = "{ip}\t{local_time}\t\"GET {url} HTTP/1.1\"\t{statu_code}\t{referer}".format(local_time = time_str,url = sample_url(),ip = sample_ip(),referer = sample_referer(),statu_code = sample_status_code()) print(query_log) f.write(query_log + "\n") count = count - 1 if __name__ == '__main__': generate_log()

執行程式碼
python generate.py
在這裡插入圖片描述

用crontab把python程式做成定時執行(每分鐘)
touch log_generator.sh

chmod u+x log_generator.sh

vi log_generator.sh 我是在當前目錄下
在這裡插入圖片描述
配置到crontab中
crontab -e */1 * * * * /root/zoujc/log_generator.sh >> /root/zoujc/flume/crontabLog_generator

檢視是否每分鐘一次執行了生成日誌的python程式碼

cd /zoujc/flume

tail -f generateLog.log
在這裡插入圖片描述