2014年6月24日 星期二

[Linux] 開機啟動時,執行 rsync 任務 @ Ubuntu 14.04

原先在 /etc/rc.local 執行,但不知為何 rsync 任務一直未被執行,且開機成功後,用 root 權限或其他角色測試執行 /etc/rc.local 卻又一切正常。有一說法是一開始可能網路未初始化,但很妙地我在 /etc/rc.local 執行 git pull 又很正常。

暫時還搞不懂出錯的地方,外加機器重開機太耗時間了 XD 先拿 crontab @reboot 的方式來頂替了。

# m h dom mon dow command
@reboot sudo /path/rsync_job.sh &


有這個需求是在 AWS 使用 Auto Scaling 時,機器會因為條件式而被關閉、重開新的,為了確保新開的機器上頭的程式碼仍夠是最新版,所以分別試用 git pull 跟 rsync 來更新。

2014年6月20日 星期五

AWS 筆記 - Amazon Route 53 GeoDNS 用法 (Routing Policy: Latency)



想要讓不同 client 查詢統一個 Domain 時,回應離使用者近的 Data Center 的機器嗎?恰好 AWS 有提供這個功能,用法:
  • 將各個 Data Center 的機器,透過 A Record 指定一個 Domain Name
  • 將使用者真正查詢對象(DomainName)設定多筆 CName Record 對應,在新增時,選擇 Latency 並挑選區域即可,例如服務亞洲可以挑日本(ap-northeast-1), 其他地方挑美國(us-west-1)等,更多區域資訊請查詢:AWS Regions and Endpoints

接著,測試時,可以透過 nslookup 來指定要查詢的 DNS Server 來模擬不同區域的查詢結果,如 Google 8.8.8.8 和最近阿里雲對外公佈的新服務 ALiDNS 235.5.5.5,就可以看到因為地域的不同產生的變化。

連續動作:
  1. 新增 A Record: www-geo-jp.changyy.org/1.1.1.1
  2. 新增 A Record: www-geo-us.changyy.org/2.2.2.2
  3. 新增 CName Record: www-geo.changyy.org/www-geo-jp.changyy.org/Latency/ap-northest-1
  4. 新增 CName Record: www-geo.changyy.org/www-geo-us.changyy.org/Latency/us-west-1
查詢:

$ nslookup www-geo.changyy.org 223.5.5.5
Server:         223.5.5.5
Address:        223.5.5.5#53

Non-authoritative answer:
www-geo.changyy.org       canonical name = www-geo-jp.changyy.org.
Name:   www-geo-jp.changyy.org
Address: 1.1.1.1

$ nslookup www-geo.changyy.org 8.8.8.8
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
www-geo.changyy.org       canonical name = www-geo-us.changyy.org.
Name:   www-geo-us.changyy.org
Address: 2.2.2.2


別忘了,這種功能是需要額外收費的。

Amazon Route 53 Pricing
  • Standard Queries
    • $0.500 per million queries – first 1 Billion queries / month
    • $0.250 per million queries – over 1 Billion queries / month
  • Latency Based Routing Queries
    • $0.750 per million queries – first 1 Billion queries / month
    • $0.375 per million queries – over 1 Billion queries / month

AWS 筆記 - 從 Godaddy 搬到 AWS Route 53



AWS Route 53 有很多收費機制,但為了 GeoDNS 的使用,開始來搬遷。原先購買的 Domain name 是在 Godaddy 上購買以維護的,整個匯出流程還滿容易的。

  1. AWS Route 53: Create Hosted Zone

  2. AWS Route 53: Import Zone File

  3. Godaddy: Export DNS Setttings

  4. AWS Route 53: Import Zone File 貼上需要的,如 A系列、CNAME系列、MX系列等

  5. Godaddy: Set NameServer,改用 AWS Route 53 提供的清單



最後,可以用 dig 去追蹤看看,是不是真的改用 AWS Route 53 提供的 NS 囉

$ dig +trace example.com

2014年6月11日 星期三

[OSX] 關閉 Android Transfer AutoRun / Android File Transfer Agent @ Mac OSX 10.9.3

安裝 Android Transfer 後,可以讓 OSX 跟 Android 手機傳資料,但是,每次手機想透過 USB 線充電時,反而會使 OSX 彈跳出視窗,並且觀察充電情況,容易出現中斷等現象。

解法:
  1. 透過 Activity Monitor 把 Android File Transfer Agent 結束
  2. 把 Android File Transfer Agent 重新命名或刪掉

    $ mv /Applications/Android\ File\ Transfer.app/Contents/Resources/Android\ File\ Transfer\ Agent.app/ /Applications/Android\ File\ Transfer.app/Contents/Resources/Android\ File\ Transfer\ Agent.app.disable/

    $ mv ~/Library/Application\ Support/Google/Android\ File\ Transfer/Android\ File\ Transfer\ Agent.app/ ~/Library/Application\ Support/Google/Android\ File\ Transfer/Android\ File\ Transfer\ Agent.app.dislabe/
未來要傳輸檔案時,在手動去開啟 Android File Transfer 即可。

2014年6月10日 星期二

[Linux] 使用 Openssl 做簡易的(DES3)加密、解密 @ Ubuntu 14.04

準備資料:

$ ls
my.data


加密:

$ dd if=my.data | openssl des3 -salt -k helloworld  | dd of=my.data.des3

解密:

$ dd if=my.data.des3 | openssl des3 -d -k helloworld | dd of=my.data

如此一來,就可以搭配 tar 的方式,把檔案先 tar 起來,在走 openssl 加密:

$ tar -zcvf - src | openssl des3 -salt -k helloworld | dd of=data.tar.gz.des3

解密: $ dd if=data.tar.gz.des3 | openssl des3 -d -k helloworld | tar -xzvf -