2016年6月30日 星期四

PHP 執行 shell cmd 的方法 ; system()、exec()、shell_exec()

本篇記錄 PHP 使用 system()、exec()、shell_exec() 執行 shell 的方法和差異,

2016年6月28日 星期二

Windows 7 無法建立的工作排程器 "具有此名稱的工作或資料夾已存在" or "未啟動指定資源管理員內的交易資源"

今天在處理一台準備要安裝系統工具的 "Windows 7",由於廠商需要使用工作排程器去執行一些工作,結果遇到工作排程器在建立工作排程一直無法建立

 

狀況一:使用 GUI 建立工作排程,出現錯誤訊息『具有此名稱的工作或資料夾已存在』

狀況二:使用匯入的方式建立工作排程,出現錯誤訊息『未啟動指定資源管理員內的交易資源』

Python3 用 Random 和 string 建立隨機字元 - 學習筆記

本篇記錄用 python3 如何活用 Random 和 String 模組建立隨機字元

 

2016年6月27日 星期一

Linux 如何掛載 LVM Partition

如果你的 Linux 主機不是自行切割,預設都是採用 LVM 來安裝,那就會遇到移機掛載 LVM 的問題,此篇記錄如何掛載一顆 LVM 硬碟

 

環境:

  • CentOS

  • /dev/sdb 為 LVM 磁碟

  • 使用 parted 工具


2016年6月16日 星期四

茶包專欄 pip 安裝 M2Crypto 失敗:swig error : Unrecognized option -builtin

今天在用 pip 安裝 M2Crypto 的時候遇到安裝失敗,錯誤訊息提示:
building 'M2Crypto.__m2crypto' extension 
swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
swig -python -D__x86_64__ -I/usr/local/python3.5/include/python3.5m -I/usr/include -I/usr/include/openssl -includeall -modern -builtin -outdir build/lib.linux-x86_64-3.5/M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
swig error : Unrecognized option -builtin
Use 'swig -help' for available options.
error: command 'swig' failed with exit status 1

 

swig 找不到 -builtin 參數,grep 了一下 help 確實沒有,發現 CentOS 6 中內建的 swig 版本是 1.3.40-6,但目前的 swig 版本已經升到 3.0.10,也太舊了!!
$ rpm -qa | grep swig 

swig-1.3.40-6.el6.x86_64

2016年6月13日 星期一

YOURLS 你也可以提供短網址服務,自架短網址轉址伺服器 & 安裝 Random Keywords 隨機 short URL

前陣子收到一個想要自架短網址服務的需求,就花了一些時間搜尋相關的方案
目前已經有許多線上的短網址服務提供大家使用,如 Google(goo.gl),PPT(ppt.cc),Godaddy(x.co) ..  等等,對於企業來說,老闆都會希望很多很炫的東西在自己公司也有,相對於 IT 人員增加了管理上的風險及成本,不過相對的使用線上服務就要有相對的代價,就是你不知道他何時停止營運 or 不再維護。

 

短網址(short url) 就是隨機產生一個很短的 URL,然後協助轉址到目的地,就是一個 return 301 的概念,讓提供網址時可以不再"漏漏長",對於文章的版面,或是程式碼的整潔都是一個正向的服務

2016年6月12日 星期日

SSH 停用遠端主機公鑰檢查 Authenticity RSA key fingerprint

ssh 公鑰檢查是 ssh 通道協定內一向重要的機制,可以防範在 ssh 溝通的過程中避免第三方 hacker attack,但這對於需要依賴 ssh 協定的 script 會造成中斷的狀況

 

每當 ssh 連線後會將連線成功的公鑰儲存在 ~/.ssh/known_hosts,若是不存在將會提示使用者是否信任該主機,若是信任將自動加入到 known_hosts,下次連線就會直接採用此公鑰對應,不會再詢問,除非該主機公鑰改變

(茶包 lsyncd 無法使用的 excludeFrom:Parameter "rsync.excludeFrom" unknown

今天在使用 lsyncd 的時候需要使用到 excludeFrom 的功能參數,但是怎麼樣都出現錯誤訊息
Starting lsyncd: Error: error preparing /etc/lsyncd.lua: Parameter "rsync.excludeFrom" unknown. (if this is not a typo add it to checkgauge)

 

在官方文件明明就寫了 rsync 支援 excludeFrom 參數,但卻無法使用,從錯誤訊息提示看到找不到這個 type (官方訊息 log 寫錯寫成 typo!! ),需要在 checkgauge 加入

2016年6月4日 星期六

用 Parted 切割 2TB 以上的硬碟,不要再用過時的 fdisk

fdisk 是一個老牌的 Linux 磁碟分割工具,以往我們都很習慣使用 fdisk,但時代變遷現在的硬碟動輒 TB,而 fdisk 所能處理的磁碟容量上限為 2TB ,所以開始要汰舊換新了

 

2TB 以上的硬碟需要採用 GPT 格式,Parted 就支援這種格式,所以本篇採用 Parted 來切割硬碟

 

環境說明:

  • CentOS

  • 目標處理硬碟 4TB (JMicron Disk)