2015年11月30日 星期一

MySQL 執行 bash script 出現 Warning: Using a password on the command line interface can be insecure

之前在寫 MySQL 的時候常常會遇到如果直接用 bash script 下 SQL 指令就會出現提示訊息,雖然無傷大雅,但看得很煩

Warning: Using a password on the command line interface can be insecure

 

在 MYSQL 5.6.6 以前的作法可以在 my.cnf 裡面加上密碼,使其不需要用帳號密碼驗證就可以執行 SQL dump

但這樣的方法並不是很安全

 

在 MySQL 5.6.6 之後加入了 mysql_config_editor 這個工具,這個工具將登入資訊存入 /root/.mylogin.cnf,而 .mylogin.cnf 是被加密的

2015年11月18日 星期三

前端設計師必備工具 檢測網站字型下載、大小、行高 - Fontface Ninja

一個前端設計師一定會常常觀察各式網站所設計的風格,並且研究其字型,通常可以使用瀏覽器的開發者模式去找到一些詳細訊息,但在 Fontface Ninja 這個瀏覽器插件可以讓你更方便的檢視或修改其網站的字型,甚至更可以讓你下載

 

目前 Fontface Ninja 支援 Chrome、Safari 兩大瀏覽器,還待有 Bookmarklet 的功能尚未推出。

 

Fontface Ninja 官方網站

2015年11月16日 星期一

用 Bash script 寫一個隨機密碼產生器

如果你每次都需要產生隨機密碼,其實可以自己用 Bash script 寫一個隨機密碼產生器

 

用到的是在 Linux 所內建的 $RANDOM 來編寫 script

2015年11月13日 星期五

MySQL 將預設資料庫編碼 latin1 改為 UTF8

由於某些系統在一開始建立的時候沒有想清楚,直接下 create database 就建立了,並沒有特別指定資料庫編碼,讓一些中文字元有可能出現亂碼的狀況。

 

本文就是要將已經建立的資料庫修改編碼,但免不了需要停機的狀況,必須注意

Python 2.7 使用 MySQL-Python 串連 MySQL - 練習筆記

最近在練習 Python,希望從一些範例中練習並改進成自己的程式,主要希望可以在系統方面補足一些 bash 做不到或不夠好的地方

 

在此部落格沒有侷限範圍,但此篇使用的是 Python 2.7,因為 MySQL-Python 目前尚未支援 Python 3 以上的版本 (官方有提到即將推出)

 

在此練習的環境是使用 Mac OSX 10.11,也適用於 CentOS 等 Linux 作業系統。

2015年11月11日 星期三

用 Google 提供的 Flush Cache 清除 Google Public DNS Cache

常常在更改 DNS 的時候即時有設定 TTL 時間,但全球 DNS 生效的時間都不太一定,但在 Google Public DNS (8.8.8.8 , 8.8.4.4)就提供了 Flush Cache 的功能開放使用

 

在 Google developers 內建就提供了一個功能可以讓管理者自行輸入網域來清除 Cache 這對系統管理者解決了大部分的使用者 DNS Cache 問題

https://developers.google.com/speed/public-dns/cache?hl=zh-TW

 

ScreenShot 2015-11-11 14.46.08

 

點下 Flush Cache 後,在馬上去查 DNS,大部分的 Google Public DNS 都會重新問 DNS 解析囉!

Orignal From: 用 Google 提供的 Flush Cache 清除 Google Public DNS Cache

2015年11月9日 星期一

ACSII、HEX、URL Encode 對照表

最近常常會用到 ACSII、Hex 和 URL Encode,常常要再去查實在很費工,在此篇筆記一些常用到的網站和對照表

 

線上轉換工具

  • mikezilla:ASCII to HEX to Unicode Converter



  • TextMechanic:ASCII, Hex, Unicode, Base64 Converter/Translator


 

字符對照表

[table id=3 /]

 

Unsafe 字符對照表

[table id=4 /]

 

 

 

 

 

Orignal From: ACSII、HEX、URL Encode 對照表

2015年11月6日 星期五

檢測範圍 Server IP 是否 Ping 回應 - bash script

有時候會需要檢測範圍性的主機是否有在線上,所以寫了一隻簡易的 Ping Server 的 bash script

 

Pingip.sh
#!/bin/bash 
script="Pingip.sh"
network="192.168.0"
ip_start="$1"
ip_end="$2"

# --- start script ---

trap 'stop' SIGUSR1 SIGINT SIGHUP SIGQUIT SIGTERM SIGSTOP

stop() {
echo -e "\nStop ${script} script ...."
exit 0
}

echo -e "\nStart ${script} Scanner Server ...."

for opt in $(seq ${ip_start} ${ip_end})
do
ping -c 1 -W 1 ${network}.${opt} &> /dev/null && result=0 || result=1

if [ "${result}" == 0 ]; then
echo "Server ${network}.${opt} is UP."
else
echo "Server ${network}.${opt} is DOWN."
fi
done

 

script 中加入了 trap 來讓 script 執行中可以 Ctrl + C 取消執行,如果沒有加入 trap 就會持續執行到 script 結束

 

在環境變數中,你必須指定 network 來代表你的網段

 

使用方式:指定你要的範圍 IP 10 ~ 100
$ ./Pingip.sh 10 100 

Start Pingip.sh Scanner Server ....
Server 192.168.0.10 is UP.
Server 192.168.0.11 is UP.
Server 192.168.0.12 is UP.
...
...
Server 192.168.0.10 is DOWN.

 

 

Orignal From: 檢測範圍 Server IP 是否 Ping 回應 - bash script