Extracting MySQL Version Lists For Per Supported GNU/Linux Distribution

MySQL支持RHEL/CentOS/Fedora/Debian/Ubuntu/SLES等GNU/Linux發行版,文檔頁MySQL Repositories列出了具體支持的發行版本,但並未顯式地說明MySQL的每一個釋出版本(如5.65.7)具體支持哪些GNU/Linux發行版本。

Read More

Extracting MariaDB Version Lists For Per Supported GNU/Linux Distribution

MariaDB支持多種GNU/Linux發行版,爲方便生成對應GNU/Linux發行版本的repository文件,官方提供了Setting up MariaDB Repositories頁面,操作便捷。但MariaDB官方並未顯式地說明MariaDB的每一個釋出版本(如10.010.1)具體支持哪些GNU/Linux發行版本。

Read More

Extracting The Invoking Frequency Of API Interface From Nginx Access Log On GNU/Linux

運維部接到研發經理的需求,從Nginx日誌中提取某一天API接口調用信息,並根據指定的維度進行彙總。因日誌文件在線上生產環境中,且單個文件大小達數GB,爲了減少操作對生產環境的穩定性造成影響。將初步提取的數據下載到本地環境,進行進一步的彙總分析。

以前是將提取的數據導入MySQL數據庫,通過SQL進行提取分析,雖方便但數據導入過程過於漫長。本文
操作主要使用sedawk命令,並大量使用了一些高級特性,如sed的添加行號、字符类、正则、後向引用awk的getline、預定義數組掃描排序多維數組等,算是後積薄發的一次展現。

Read More

Try To Speed Up Shell Script Processing Via Command parallel On GNU/Linux

由於CentOS未在其官網列出各release版本的具體釋出時間,只能通過 遍歷Announce Archive頁面中的所有歷史文檔實現。Announce Archive頁面截至2017.06.22,按月份共有 148 個鏈接,需逐個獲取其HTML頁面用於分析。在Shell Script實現過程中遇到一個問題:採用while命令逐行讀取進行操作導致 遍歷 操作耗時過長,將近 180s。後嘗試通過GNU Parallel改寫腳本,成功將操作耗時控制在 15~10s 之內,運行時間縮短 90% 以上。

Read More

Reverse Every Character In Line Via GNU sed On GNU/Linux

GNU sed是一款文本流編輯器(stream editor),USEFUL ONE-LINE SCRIPTS FOR SED通过命令sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//'實現字符串逆序排列(功能類似於rev)。網路上已有對該命令的解釋

Read More

Reverse Order Of Lines Via GNU sed On GNU/Linux

GNU sed是一款文本流編輯器(stream editor),USEFUL ONE-LINE SCRIPTS FOR SED中提供了2種方案用以實現文本行的倒置(最後一行變成第一行,依次類推,功能類似於tac)。分別是sed '1!G;h;$!d'sed -n '1!G;h;$p',二者本質上是一樣的。本文主要討論前一種操作的實現過程。

Read More

Extract Proxy IP From Proxy Sites On GNU/Linux

本文記錄如何從代理IP網站抓取代理IP,網站來源及部分代碼參考自KyxRecon/proxy-scraper.sh。協議類型可分爲HTTPSOCKS兩種,HTTP細分爲HTTPHTTPS兩種,根據匿名等級分爲transparentanonymoushigh-anonymous三種;SOCKS細分爲SOCKS4SOCKS5兩種。就隱藏真實IP而言,HTTPhigh-anonymousSOCKS5類型代理IP爲理想選擇。

Read More

Common Code Snippets Of Shell Script On GNU/Linux

以下爲個人撰寫的Shell Script代碼段,用於提高個人生產效率。格式分爲2種:在Shell Script中,在~/.bashrc中。

~/.bashrc中,需要對雙引號"和awk中的$做轉義。

Read More

Extract Free IP:PORT Proxy Lists From HIDEMYASS Via SED & AWK

HIDEMYASSFree Proxy List提供免費的代理IP,可用於ProxyChains的配置。ProxyChains常與Tor組合使用,通過代理服務器實現網絡匿名。本文主要討論如何通過sedawkHIDEMYASSFREE IP:PORT PROXY LISTS的HTML頁面中提取到相關數據,併通過Shell Script實現整個操作。

Read More

Print The Previous Or Next Line Of The Matched Line Via AWK OR SED

在GNU/Linux中,awk(gawk)sed可用於處理文本數據。本文討論的是如何使用二者提取匹配數據行的前一行或後一行數據。如果匹配數據行出現多次,則只輸出第一次匹配到的數據行。

Read More

OpenSSH Config File Usage Introduction

OpenSSH是使用SSH協議進行遠程連接的工具,當前最新版本是OpenSSH 7.5,於 March 20, 2017 釋出。

Read More

Installing & Updating Docker Community Edition(CE) On GNU/Linux

Docker是一款開源的,提供Operating-system-level virtualization(操作系統級別的虛擬化的)容器(container)產品,可實現在軟件容器中自動部署應用。目前有Enterprise Edition(EE)Community Edition(CE)Cloud三個變種。本文記錄在GNU/Linux中安裝、配置Docker Engine的過程,並通過Shell Script實現

Read More