2018年6月24日 星期日

Fortigate如何大量貼入指令不掉字 (使用Tera Term)

在貼Fortigate指令時,有時在putty因為貼的太快會造成有指令沒有接收到(尤其是address很多的時候),因此有一個可以調整貼上速度的client是很重要的。

幾經尋找,我找到的是Tera Term


在安裝完成後,記得先改字型大小:


接著要把行數及列數設定成我們慣用的80x24:



最後就是主角了,在附加設定裡面的複製和貼上,在『貼上時隔行延時』從預設的10ms改為25ms。我實測時貼了3700行,都沒有掉 (之前用putty,一次只能貼200行,就算我把buffer放大也一樣)


 最後當然別忘了要儲存設定:





2018年6月21日 星期四

2018年6月14日 星期四

多螢幕時裝Ubuntu要小心 (Mulit boot in Ubuntu)

最近把手邊的電腦都裝上Ubuntu,與Windows 10共存。

結果裝到筆電時遇到好笑的事

前情摘要:我平常筆電的螢幕是合起來的,只用外接的螢幕。

我一如往常的把Windows 10空出20G左右,接著用Ubuntu的開機碟開機,然後很順利的裝完Ubuntu。欸奇怪了,為什麼開機的時候直接進Windows 10,沒有問我開機選項。

不信邪,就又裝了三次,一直發生一樣的事。

過了幾天看到這篇教學:

https://linoxide.com/distros/install-ubuntu-18-04-dual-boot-windows-10/

有講到不能開機時的解決辦法。我照著做。但最後變成Ubuntu能開機,但Windows 10不行。
搞到最後,甚至兩者都開不了機了。

正當我灰心想要放棄的時候,我打開了原本合上的螢幕,竟然發現開機選單正好整以暇的等我。原來是開機選單只出現在筆電的內建螢幕上,而不會出現在外接螢幕上。

還好問題順利解決了,但似乎不得不為自己的租心作個記錄。


2018年6月9日 星期六

關於cacti script_server 的使用方法 (How to program cacti script_server)

搞了幾天才搞好,來做個記錄:
我其實是在弄cacti批次讀取ASR的溫度並繪圖的功能一開始想要自己寫(去年已經寫過ERX版的了,記得難度不高)。程式不難寫,但建完index之後,沒有辦法query module name,試了一兩天都搞不定(再加上那幾天電話跟派案很多,根本沒有辦法好好測試)。後來有空了,再回頭去抄自己的程式,才發現問題在XML檔。之後就順利query了。
原以為順利query之後,就可以簡單get value,但又卡了兩天,原因又是我去年沒有仔細看教學跟說明,就直接抄別人的東西又運氣很好的做出來。今天仔細看了說明,才知道自己的問題在哪,之後就順利把圖弄出來了。問題還是在XML檔。剛好是跟query當時相反的設定。原因在於Cacti在scrips_server以及scrips_query定義的方式不同。但我一開始抄的時候沒有弄的太清楚就趕時間硬上,反而花了很多時間。
在解決問題之前,最好還是能把問題弄懂,可以省下很多時間。



如果要用script_server的方式來執行,





這兩行都一定要加,否則之後在polling時無法輸出 (都是U)
XML的格式很重要,不然script_server不吃,之後就沒有辦法輸出。


最後是測試方法:
[root@MARS /]# /usr/bin/php /usr/share/cacti/site/script_server.php
PHP Script Server has Started - Parent is cmd
/usr/share/cacti/site/scripts/iosxr_temperature.php iosxr_temp 1.1.1.1 4 2:161:500:1:10:public:::::: get temperature 52737404
PHP Parse error:  syntax error, unexpected '}' in /usr/share/cacti/site/scripts/iosxr_temperature.php on line 109


這樣就能debug了。





2018年5月27日 星期日

找出檔案重覆的內容 (find duplicate line content in a file)

sort ipf.conf | uniq -d


mutt 直接夾圖檔(不是以附檔的方式) (mutt embedded image not attachment)

由於某公司的新規定:某等級以下的員工手機不能收附檔,因此原先夾圖檔的報表都看不到內容了 (重點是在下班時間我懶得開電腦)

所以要做一點小調整,目的就是不要用 -a的夾檔方式,先用base64轉成純文字,再用Embedded Image的方式夾在html檔裡,最後mutt再用content_type=text/html的方式來寄送。

#!/bin/bash
test="$(cat tn-dynamic-atm.png | base64)"
echo "\" > test.html
/usr/bin/mutt -e "set content_type=text/html" -s "test from base64" somebody@myplace.com < test.html

2018年5月15日 星期二

使用IFTTT讓LINE發訊息(重點是要含圖片) (IFTTT line notify attach photo of picture)

之前在做一個系統,簡單來說就是門禁系統。如果有人在非上班時間要進機房,系統就會看一下webcam,來識別是不是機房的同仁,不管是不是機房的同仁都會發一個line訊息,裡面希望把人名、時間還有照片都傳上去。

在臉書上看到別人分享的作品,他介紹可以使用IFTTT來操作。
試了一下不難,但一直沒有辦法像他一樣把LINE夾圖。留言問他,他可能覺得這個太簡單也沒有回。

我只好再花時間試一下,還好順利試出來了,以下作個簡單的記錄:

其實這個圖就是關鍵了,原先的範例在Message那邊只有寫value1、value2、value3。
但我試了很久,只能把圖用url的方式寫入value2或value3,傳line給對方時,雖然圖片的連結會帶出來,但對方還要點一下才行,而且這年代隨意點一個連結都會中獎,所以這個方法不好。


後來經過幾個小時的測試之後,才改成上面的設定方式。把Value3放在下方的Photo URL。說也奇怪 這樣就能直接line圖了....

附上測試的程式碼:
curl -H "Content-Type: application/json" -X POST -d '{"value1":"進入機房","value3":"https://www.qrstuff.com/images/default_qrcode.png"}' https://maker.ifttt.com/trigger/LINE-IMAGE/with/key/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


後記:
我都照做了,可是我的圖還是送不出來怎麼辦呢?
我的作法是發現人臉辨識率達到70%的標準後,就存圖在/var/www/html (建議用jpg,檔案小很多)。接著再傳送外部連結:http://1.2.3.4/timestamp.jpg給line,但是一開始的時候照片都傳不出去,但用一般的圖床的照片又都可以傳的出去。(在google上隨意找的圖都可以送,不管是http或https,用朋友的blog的照片也可以送的出去https)

後來花了很多的時間才確認出來,你要傳給他的URL需要合法的網址,我一開始用http://1.2.3.4,不能傳圖,後來用http://a.b.c.d,也是不能傳,接著用https://a.b.c.d也不能傳。(我是申請免費的 nctu.me的),接著想要用let's encryption加在nctu.me上,但超過流量限制(中間有一度通過,但我不慎把cem及key刪除),之後再申請就不會過了 (因為nctu.me很多人,一下子就超過let's encryption的流量上限)

最後是在臉書大神的幫忙下,有朋友幫我設定一筆A記錄,之後就很順利的設定完成了。
看到圖透過LINE傳出來的時候,真的很感動。