初心易得,始終難守
C'est la vie.© 2002 - 2026
  • 我是誰-Who Am I
  • 我在哪-Where Am I
  • 我是什麼-What Am I
  • 年鑑-YearBook
    • 二零零六年终总结
    • 一吻定情—二零零八年年终总结
    • 突如其来的明天—二零零九年年终总结
    • 人生大起大落得太快——二零一零年年终总结
    • 贰零①①年年终总结-女朋友已经成家了
    • 贰零壹贰年年终总结-奔波的肿瘤
    • 贰零壹叁年年终总结
    • 雪字怎么写-贰零壹肆年年终总结
    • 每个不曾表白的今天,都是对青春的亏欠-贰零壹伍年年终总结
    • 按部就班的IT 人生-貳零貳肆年年終總結
    • 真正的閱讀-貳零貳伍年年終總結
  • 連結
RSS
3 月 24 日, 2020 年

How to Exclude a Word with grep

Ken Tech 0 Comments

grep命令在用於在文本數據中搜索定義的字符串,字符,單詞或正則表達式匹配的行和代碼片段時非常有用。 儘管grep的大多數用途是對語法匹配的數據進行排序,但是如果我們想用grep排除單詞或字符串怎麼辦? 用grep排除與在grep中查找匹配項是類似的,今天讓我們看看如何使用grep排除字符串匹配和單詞。

grep是與操作系統無關的實用程序,因此您可以在Mac OS,Linux,Unix或任何其他使用grep的系統中使用排除。

如何使用grep排除單個單詞

排除具有字符串或語法匹配行數據最簡單方法是使用grep和-v。

例如,假設我們使用cat在命令行中輸出文件,但是我們想排除所有包含“google”的行,那麼語法將如下所示:

cat webserver.log | grep -v “google”

輸出將是webserver.log文本中不包括與”google”匹配字符串的數據。

也可以直接在文件上使用grep,並根據單詞或語法排除匹配,如下所示:

grep -v “google” webserver.log

如何使用grep排除多個字符串或單詞

既然我們知道如何排除單個單詞,下一個明顯的問題是使用grep排除多個單詞。 這同樣簡單,並且有幾種不同的方法可以使用-v標誌和-e標誌來完成此操作。

首先,以上述示例為例,在透過管道傳輸到grep的文件中使用cat,並排除與兩個單詞匹配的任何數據:“google”和“baidu”,如下所示:

cat webserver.log | grep -v -e “google” -e “baidu”

包含“ google”或“ baidu”的每一行將從打印結果中排除。

您還可以像以前一樣直接在文件上使用grep

grep -v -e “google” -e “baidu” webserver.log

另一種方法是通過使用管道來分隔每個匹配項來用grep分隔要排除的內容,如下所示:

grep -Ev “google|baidu” webserver.log

如果在示例文本文件上測試了這些選項中的任何一個,無論採用哪種方法,輸出都是相同的,每個選項都會輸出排除了包含目標短語,語法,單詞或文本匹配項的數據。

3 月 22 日, 2020 年

How to install PHP 7.4 on FreeBSD 12

Ken Tech 0 Comments

一直以來我都使用源代碼編譯的方式安裝php,一方面是因為Centos上yum的php版本比較舊,源代碼編譯比較適用於各種類unix平台,另外一方面是因為有時候需要加入第三方的模塊,比如pagespeed的時候,就必須從源代碼進行編譯,但是,FreeBSD一直都不支持pagespeed,所以,其實使用pkg自帶的版本就足夠好用了。

安裝的命令很簡單:

pkg install php74 php74-zlib php74-exif php74-gd php74-mbstring php74-xml php74-pdo_mysql php74-mysqli php74-curl php74-opcache php74-intl php74-sockets php74-zip php74-openssl php74-bz2 php74-pecl-redis php74-session php74-json php74-dom php74-fileinfo php74-simplexml php74-simplexml php74-pdo_sqlite php74-iconv php74-pecl-imagick-im7 php74-filter

如果有需要其他的模塊,繼續在後面添加就可以。

我一般會對/usr/local/etc/php.ini做如下一些修改:

post_max_size = 22M

upload_max_filesize = 20M

date.timezone = Asia/Taipei

opcache.memory_consumption=32
opcache.blacklist_filename=/root/sh/opcachebl.txt

當你不想為所有的php script啟用opcache的時候,你可以把那些目錄加入黑名單,這樣你可以節省很多內存。

有一些pkg中沒有的so,phpize安裝後,需要在/usr/local/etc/php 目錄中新建一個extension.ini,並添加例如
extension=imagick.so

如果服務器內存足夠大,那麼我們可以使用redis作為session handler,將php的session放入內存,比直接扔在磁碟上的效率要高不少,針對php.ini需要修改兩處:

session.save_handler = files 修改為
session.save_handler = redis

同時,session.save_path = “/tmp”
修改為session.save_path = “tcp://127.0.0.1:6379?auth=ifyouhaveapassword”

如果redis-server沒有設置密碼,那麼後面就不需要添加。

好吧,其實是因為使用源代碼編譯intl模塊在FreeBSD上怎麼都過不去,看起來似乎是一個bug,而且是幾年前的bug,粗略的尋找了一下,沒有找到答案,也許以後可以解決這個問題。

3 月 20 日, 2020 年

Blocking aggressive crawlers/scrapers/bots

Ken Tech 0 Comments

有很多人喜歡用Blocking UA的方法,但很幸運的是,如果你使用了CF的CDN服務,那麼Cloudflare為我們提供了防火牆功能。

當你把你的網站放在CF的CDN後面,有許多增強的安全設置可以為我們所使用,其中一個就是根據UA來進行處置,Block或者Challenge,使用Challenge選項時,會首先到達一個驗證碼頁面,這個頁面,在大陸由百度雲加速提供,除大陸地區,由CF自己提供,這個Challenge頁面非常類似於常用的抗DOS設備的跳轉頁面,需要輸入驗證碼,或是使用js檢測瀏覽器完整性後,才會將用戶側瀏覽器傳遞到目的url。

但是,很多時候,一些非正式的bot,使用了各種千奇百怪的UA,比如華為和阿里巴巴,你們又沒有搜索引擎,抓來抓去抓什麼呢?這種時候,我覺得UA非常煩擾,於是我通常會將16位的B類地址段直接設置為需要Challenge,通常來講,既然它是bot,它就不可能完成Challenge。當然,還有一些俄羅斯和法國的惡意bots,通常也會加到Challenge的範圍,由於俄羅斯的實在是太多,乾脆就直接把Russia加進去。

通過以上的一些設置,整個服務器的負荷就小了很多,訪問量變成高峰期的三分之二左右。

3 月 19 日, 2020 年

骨纖維異常增殖

Ken 隨筆 0 Comments

我多年來屢次偶發右手肘的疼痛終於有了答案:骨纖維異常增殖,這是一種發育不良的疾病,通常好發於青少年……積水潭醫院不知道哪科的主任醫生看了一下片子就說你這個沒什麼,娘胎裡帶來的病,沒症狀不管它。

起因為和欣茹打羽毛球,用力了使用了右手肘兩天之後,自覺手痛得快要斷了,終於去醫院拍了手肘核磁和CT。

這是一種自限性疾病,意思就是當它沒有症狀的時候不需要處理,有症狀處理症狀,可能自我恢復,也可能不,簡單的說,就是大多數時候它不需要處理,但是一旦有了問題,就可能需要做手術。

CT片子上看起來,像是右手肘的骨頭近端由於異常增殖變得膨大和磨玻璃化,擠到了旁邊的骨頭,於是當我做出類似打網球,反手的動作時,骨頭會卡住,骨頭相互摩擦,就發炎,疼痛,當我不做這個動作,就沒有問題,但是,經過這次檢查後,它並沒有像以前一樣的速度恢復,這次恢復的速度非常慢,大概在四個月之後,才逐漸好轉,而且變得更為脆弱。

從小我就有各種奇怪的疾病,我記憶中的大概有肺炎,關節炎,肺結核,脊柱椎管內腫瘤,不在我記憶當中的,也聽父母說起過小時候經常往醫院跑,

如葳君所說,這大概是一種考驗吧,他的電腦硬碟突然壞了,Mac的硬碟一般是很少壞的,何況是固態硬碟,而且他聽從我的指示,沒有將固態硬碟塞很滿,留出40G的空間,現在這種時候,出門很危險,去Apple店面進行維修,也是很麻煩的事情,他說他叫了一個上門維修服務,不知道有沒有幫助,曾經我叫他把所有的文件放到雲端,他不聽,覺得自己有移動硬碟備份,這下可好,上次備份是在過年前。


隨著疫情逐漸嚴重,原本打算把觀賞奈飛相關的設備寄往台北,後來發現,各國海關的審查比之前嚴格了許多,台灣的海關在去年原本是可以很容易通關,後來推出了實名制,清關時間可能無法預估,想想算了,下次人肉帶去便是,不必急於一時,要不然萬一被海關扣下來不知道等到何年何月。

3 月 17 日, 2020 年

使用策略路由只適用於主要流量為國內流量的場景

Ken Tech 0 Comments

大陸A股一瀉千里,我已經浮虧二十萬,好刺激,但還沒到我浮虧最多的時候,最多的時候曾經浮虧三十萬。

你看吧,我說要開始扣屎盆子了吧,趙立堅剛把屎盆子試圖扣在美國頭上,川普就直呼Chinese virus,不過這也許是學習俄羅斯的網軍,用各種陰謀論搞亂信息來達到目的。

一個星期買一次蔬菜,每天在家洗菜煮飯燒水,我發現這個淨水器的廢水丟掉有點浪費,於是把他們收集起來,放到魚缸的儲水桶,爆氣兩天之後再給魚缸換水,好像還蠻不錯,我發現這個洗米水似乎有點營養過剩,倒在戶外水草缸裡面沒兩天居然臭了,水草也開始腐爛,趕緊下了一些硝化細菌和光合細菌,也許是天氣比較寒冷凍死了水草,總之就是臭了,在戶外水草缸裡面種植菠菜也宣告失敗,應該是太冷的緣故,還有根鬚都被菜農摘掉,很難存活。

雖然天氣並不是很熱,也不是很冷,戶外的水草缸裡面已經開始有蚊子或是蒼蠅下蛋了,水裏遊動著小蟲子,我就把餓了很多天的虎皮魚丟進去,吃得差不多再撈回室內的魚缸。

我原本想用策略路由,把出國流量直接丟到旁路網關去,但是我發現這樣做的話,過個一兩天就會產生防火牆CPU負荷滿載的問題(雖然滿載並沒有什麼影響),似乎是奈飛的流量導致,我還沒搞清楚這個問題所在。

set vrouter “trust-vr”
set match-group name goto-vpn
set match-group goto-vpn ext-acl 10 match-entry 1
set action-group name act-goto-vpn
set action-group act-goto-vpn next-hop 172.16.254.254 action-entry 10
set pbr policy name po-goto-vpn
set pbr policy po-goto-vpn match-group goto-vpn action-group act-goto-vpn 10

set access-list extended 10 src-ip 172.16.254.0/24 dst-ip 72.0.0.0/8 src-port 1-65535 dst-port 1-65535 protocol any

Juniper ScreenOS 6.2

如果在主路由上使用策略路由,那麼理論上來說,第一跳到旁路網關適用於主要流量為出國流量的環境,第一跳到主路由適用於主要流量為國內流量的環境,否則就會產生大部分流量需要兩跳的結果,我想了想,改回了第一跳到旁路網關。

«‹ 19 20 21 22›»

過 客

  1. R2 on 卷進了美商5 月 15 日, 2024 年

    终于回来了,好。

  2. Ken on Mommy最後的樣子11 月 6 日, 2023 年

    也沒有很久吧,最近終於閒下來

  3. R2 on Mommy最後的樣子10 月 26 日, 2023 年

    好久不见

  4. Ken on 天朝Loli控组曲(带歌词,修正版)10 月 12 日, 2023 年

    哈哈哈,祝福你,好人一生平安

  5. liu on 天朝Loli控组曲(带歌词,修正版)10 月 12 日, 2023 年

    hello,我在找天朝lolicon组曲时发现了你的博客,感谢你十四年前做出的贡献,祝一切安好

April 2026
S M T W T F S
 1234
567891011
12131415161718
19202122232425
2627282930  
« Mar    

Spam Blocked

103,551 spam blocked by Akismet

↑

© 初心易得,始終難守 2026
Powered by WordPress • Themify WordPress Themes