自己的站點難免會遭受被惡意攻擊,經常需要從日誌文件中分析出訪問量中最大的一批IP,判斷是否需要封禁,這種場景一行命令就可以實現。
日誌文件access.log格式如下:
Linux命令:
awk -F " " '{count[$1]++} END {for (i in count) {printf("%s\\t%d\\n", i, count[i]);}}' access.log | sort -k 2 -r | head
- 通過awk對日誌中的每一行ip進行計數統計,並按ip count格式輸出。
- 通過sort命令按照第二列降序排序:-k 指定按分隔後的第二列排序; -r 指定降序輸出
- 通過head命令取出前十條。
閱讀更多 DaemonCoder 的文章