- 论坛徽章:
- 7
|
试试这个- import sys
- import pickle
- import re
- # save last pos
- last_file = 'check.pkl'
- if len(sys.argv) < 3:
- print("Usage: python check.py log key1 key2 ... keyn")
- sys.exit(1)
- log_file = open(sys.argv[1])
- key = []
- for i in sys.argv[2:]:
- key.append(i)
- with open(last_file, 'ab+') as f:
- if f.tell():
- f.seek(0)
- last_data = pickle.load(f)
- else:
- last_data = {"log_seek": 0}
- log_file.seek(last_data['log_seek'])
- print(">>>Starting...\n")
- for line in log_file:
- for i in key:
- if re.search(i, line):
- print("Alert: find key:{} in {}".format(i, line), end='')
- print("\n>>>Finished.")
- last_data['log_seek'] = log_file.tell()
- # save pos
- with open(last_file, 'wb') as f:
- pickle.dump(last_data, f)
复制代码 |
|