2014年8月31日 星期日

CSS筆記 在網站使用特殊字型-@font-face

在一般網站中使用的字型必須考慮使用者上是否擁有該字型,為了使設計者更加彈性

 

在網站中可以使用 @font-face 這個 CSS 來宣告字型檔的位置,讓使用者自動下載在你網站中使用的特殊字型

 

一般 @font-face 在最上層宣告,也可以在任何 CSS 條件群組中宣告。

 

@font-face 用法
@font-face{ 
font-family: QingShu;
src: url(/font/QingShu.otf);
}


h1 { font-family: QingShu, serif; }

CentOS 6.5 用 find 搜尋指定路徑下的檔案內容

用 find 通常用來搜尋某個路徑下的檔案,加入 grep 後也可以搜尋檔案內的文字內容

 

用法
find "path name" -name "file name" -exec grep -H "search content" {} \;

 

 

範例
find /home/volume -name "*.css" -exec grep -H "site-title" {} \;

要搜尋在 /home/volume 內所有 *.css 檔案內容中有 site-title 的文字

2014年8月28日 星期四

ESXi 5.1 / 5.5 定期排程備份線上VM;NFS、sendmail-ghettoVCB

好的,本篇的實作花了小弟一些時間去執行,因為多數的網路文章都不正確或是少東少西的,讓小弟真的很頭疼。

 

ghettoVCB 是由一位 William 所寫的 script,在他的站台有許多 VMware 的 script 應用,非常厲害

 

 

在一開始先說明一下本篇使用 ghettoVCB 的應用功能

 

1. 定期排程備份指定的虛擬機

2. 必須要可以 mount NFS (Host 本身硬碟不夠用的時候 NFS 非常好用,又可以解決 I/O 效能)

3. 執行完成必須通知系統管理員

2014年8月27日 星期三

ESXi 5.1 / 5.5 開啟 SSH service

ESXi 內建功能就很完善,但如果可以進到 OS 內去做調整更能有效的應用

 

在這之前必須要先可以 ssh 到 ESXi Host

 

本篇紀錄如何開啟 ESXi SSH service

Chrome 解決文字不見,網頁缺字的問題 & 關閉自動更新

今天一大早開電腦打開 Chrome 的時候就發現 某些網站 都呈現很多字都不見的狀況,下意識覺得該不會是我中毒了!

 

在這個眾多瀏覽器不統一的時代,一台電腦存在著多種不同瀏覽器是必要的,像這樣 chrome 出問題了還可以使用 Firefox 來確認問題 (我一點也不想用微軟的慢IE來當標準)

 

測試以後發現很多網站的字都不見了,但有些是可以正常的。

而且 IE 跟 Firefox 都是正常的,看起來是只有 Chrome 有問題

 

2014-08-27_110855

 

2014年8月25日 星期一

微軟重大更新 BUG 導致系統異常 MS14-045 KB2982791 KB2970228 KB2975719 KB2975331

微軟的系統又出問題,根據 Microsoft 在 8/12 發佈的 KB2982791 上提到在已知的 4 項安全性更新會造成 Windows 系統嚴重崩潰並無法正常啟動。

 

重大影響問題 藍底白字 0x00000050 無法進入 Windows

ms14

VMWare ESXi 5.0 升級 5.5-maintenance mode

繼上篇 VMware ESXi 5.0 升級 5.5 使用 ISO 光碟升級後,此次基於懶惰原則不想到機房進行更新,所以使用可以遠端進行的 maintenance mode 維護模式來進行更新。

 

setp .1 到 VMWare 下載所需的 Patch Release ,必須下載 update 版的,如  update-from-esxi5.5-5.5_update01

 

setp.2 關閉所有 VM 並進入維護模式
~# vim-cmd hostsvc/maintenance_mode_enter 
'vim.Task:haTask-ha-host-vim.HostSystem.enterMaintenanceMode-52468113423'

SQL 中文字轉換 varchar 函數變成問號、亂碼

昨天在轉換一項資料表從 SQL1 轉換到 SQL2 ,在轉換到 SQL2 的時候中文字全變成了亂碼

 

雖然用的是 varchar 但並沒有使用中文難字,照常理判斷在 SQL1 正常顯示,在 SQL2 上不應出現異常

 

在比對後兩者 SQL資料庫的差異在於 定序,並進行了以下測試來確認

 
declare @var nvarchar(32) 
set @var = N'文字測試1234Abcd口吅品瀞'
select @var 'export nvarchar(Chinese)',
convert(varchar(32),@var) COLLATE Chinese_Taiwan_Stroke_CI_AS 'export varchar(Chinese)',
convert(nvarchar(32),@var) COLLATE SQL_Latin1_General_CP1_CI_AS 'export nvarchar(Latin)',
convert(varchar(32),@var) COLLATE SQL_Latin1_General_CP1_CI_AS 'export varchar(Latin)'

2014年8月24日 星期日

讓 MS SQL 2008 R2 發信通知系統管理員-Database Mail

管理的系統一多後,系統的自動化就更需要有強大的後援,為了更輕鬆的管理這些系統,通知功能就更顯的重要,從每天收信檢查狀況,總比每一台都登入查看是否有正確執行來的好。

 

範例為使用 MSSQL 2008 R2 來建立 Database Mail 使執行完工作後發信通知 系統管理員

 

執行要求:

執行備份所須資料庫後,失敗則發信通知 SystemAdmin

 

2014年8月22日 星期五

使用 Nslookup 查詢 MX 紀錄

要查詢 Domain 的 MX 紀錄時 可以使用 nslookup 來查詢 mx 紀錄

 

Windows 示範

C:\> nslookup

>set q=mx

>test.com.tw

2014-08-22_114339

 

mx 同時可擁有多筆記錄,並有優先順序 (preference)

 

Orignal From: 使用 Nslookup 查詢 MX 紀錄

2014年8月20日 星期三

IE 封鎖老舊 Jave ActiveX-out-of-date ActiveX control blocking

最近微軟在 8/12 又有動作將 IE 進行升級主要針對的是一些老舊容易受攻擊的 Jave ActiveX 加入了一項 「out-of-date ActiveX control blocking」(過期ActiveX控制攔阻)來將舊的 ActiveX 阻擋

 

由於小弟任職的公司就是使用 Java 來開發,所以許多的客戶也都在詢問是否會造成問題

 

 

受影響的 Java ActiveX 範圍

J2SE 1.4 update 43、J2SE 5.0 update 71、Java SE 6 update 81、Java SE 7 update 65,以及Java SE 8 update 11 等之前的版本,為含上述提到的版本。

Windows 設定同步時間誤差,防止大規模時間的位移-Time service

今天在一台重要的 SVN Server 被告知系統時間錯誤,但這台 Server 一直以來都有同步內部的 Time Server

 

如圖所示看起來也沒有太大的異常,但實際的誤差時間高達 8 小時

2014-08-19_112903

 

這個誤差值來自於 Windows Default 的設定

2014年8月18日 星期一

IE8 網頁發生錯誤 (KB927917) 更新 KB2416400

在專案的執行中,因為系統的平台在客戶端的 IE8 左下角出現 黃色驚嘆號的【網頁發生錯誤】導致平台頁面沒有正常的顯示出來

 

確認問題點

1. 在不同的電腦上都使用 IE8 有些可正常,有些皆出現錯誤,IE版本只有patch number不同。

2. 僅在 IE8 出現問題,IE7、IE9、IE10、IE11 都正常使用

 

 

由上判斷有可能原因為系統不適用於 IE8 某個小版本更新,並不是全數 IE8 出現問題

pps、優酷、土豆、搜狐【抱歉,此視頻僅限 中國內地 大陸地區 播放的限制】Chrome擴充套建解除限制

以往觀看影片都會去pps、優酷、土豆、搜狐等等的線上影片平台觀看,在近期幾年大陸開始封鎖外部連線,只允許大陸境內IP才可以觀看

【抱歉,此視頻僅限 中國內地 大陸地區 播放的限制】

 

 

由於最近小弟又開始看影片才去找尋相關辦法

 

本篇提供 PC版線上觀看的方式,並採用chrome簡潔有力的解決方法。

MYSQL排程備份並達成異地備份-shell script筆記

近來在練習一些 scirpt 的編寫,盡量讓某些簡單的需求來讓自己的工作簡單些,不見得總是需要現有套件來執行任務,也加強自己的開發能力。

 

本篇範例為使用 Mysql 進行備份需求

 

script 目的:

1. 備份所有mysql資料庫,使用show databases列出清單

2. 檢測備份目錄的寫入權限

3. 異地備份,使用scp並加入key認證使script不用輸入密碼

4. 保留5天的備份

2014年8月12日 星期二

CentOS7 大事記,升級筆記 (MariaDB)

最近 CentOS7 發布了新版本,馬上就遇到了問題

 

僅此紀錄一些更動的訊息

 

1. VMware Tools 可以即裝即用了

 

2. OpenJDK-7 為系統預設 JDK

 

3. 從 CentOS6.5可以用yum update 升到 CentOS7

※此點必須非常注意,在以往無法跨大版本更新。

Linux 文字模式查詢 WAN IP

一般的網路環境都會是採用 NAT 的架構,本機查到的 IP 都僅有 LAN IP。

 

在 Windows 跟 Linux 還好用瀏覽器透過 MyIP 來找到 WAN IP

 

在 Linux 的文字模式雖沒有瀏覽器及圖形介面也可以透過 curl 來 get 查詢頁面,但通常都會出現一大串 html

 

在此紀錄比較省事且易看的方式

 
shell# curl http://www.ripe.net/@@ipaddress 

114.33.22.11

 

Orignal From: Linux 文字模式查詢 WAN IP

2014年8月11日 星期一

讓 Postfix 提供 mail relay 的功能

mail server 不僅自己要發信,也常常必須要提供轉發信件的功能,也就是 mail relay ,提供沒有 smtp 服務的 service 來進行發信,以達到統一集中管理的效果。

 

以 Postfix 為例

 

設定檔  /etc/postfix/main.cf  主要分為四大項,避免造成廣告信件的跳板必須謹慎設定

將大量資料夾分別壓縮成獨立的壓縮檔- 進階WinRAR

最近在處理專案需要傳輸大量含有資料夾的檔案,MIS 相關人員應該都了解直接傳輸大量分散檔案很容易遺失或損壞檔案,通常都會將檔案 zip 成一個獨立的檔案,既可以壓縮又可以穩定的傳輸保證裡面的資料不會遺失。

 

但是當資料量大的時候一個一個壓縮就顯得很浪費時間

 

WinRAR 就提供大量壓縮獨立檔案 及 反向解壓縮檔案

2014年8月8日 星期五

Google Apps Script 用試算表做出監控 簡訊通知-Website Monitor

在一般企業中使用的監控系統不外乎 nagios , lcinga , cacti  .. 等等在去年 Google 提供了 App Script 服務後更讓大家廣泛的運用

 

在 Nagios 中雖能非常強大的監控 Server 幾乎所有的資訊,也能提供警示訊息的服務,但若要能及時的通知負責人員僅使用 email 警訊似乎是少了那麼一點感覺

 

要使用 簡訊通知 還必須跟ISP購買 api 介接,但其實要做到 Free 從 Google 提供的 Apps Script 就可以擁有免費的簡訊通知!

 

在不知道 Apps Script 的人應該從沒想過可以透過 Google Doc 來提供監控的服務

2014年8月7日 星期四

ESXi 5.1 調整時區不同 localtime

在 ESXi 上時區預設是 UTC 00:00 ,若是在 ESXi 上要設置 crond 的話就必須特別注意時區的問題

 

避免哪天不知道的人員測定錯誤的時間而影響的正常使用時間的效能那就糟了

 

以台灣為例,時區為 UTC+08:00,在 crond 就必須 +8

 

即使有開啟 ntp sync time ,重開機若是 localtime 錯誤一樣有問題

MySQL 解決資料表損壞 【 Table './DatabaseName/Table' is marked as crashed and should be repaired】

今天在 wordpress 站台經過多次不正常關機後在啟動 apache 後,站台出現 HTTP 500,顯示的訊息為「建立資料庫連線時發生錯誤」

 

既然跟資料庫有關係就先從資料庫來查起

 

1. 檢查 AP 與 DB 間的連線正常

2. 帳號密碼 Login 正確

3. MySQL 3306 是否 Listen

 

檢查上述 3項都是OK的,連線的環境應是沒有問題!

2014年8月5日 星期二

MSSQL 2008 express 還原錯誤 【裝置上的媒體家族使用 Microsoft Tape Format 版本 1.32 建立。SQL Server 支援版本 1.0。】

今天在 MSSQL 還原資料庫的時候出現 【指定的轉換無效。(SqlManagerUI)】

 

2014-08-05_135629

 

 

在網路上查詢後大多數的錯誤原因都是版本相容性的關係,較低的版本無法 restore 較高的版本資料庫。

 

但本範例是由 客戶的 MSSQL 2008 R2 還原到 MSSQL 2008 R2,所以應不會是向上相容的問題。

MSSQL restore or start database error 【mdf 是壓縮檔,但不在唯讀資料庫或檔案群組中。必須解壓縮該檔案】

今天在 restore database 的時候出現了錯誤訊息

【檔案 "C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\DATA\database.mdff" 是壓縮檔,但不在唯讀資料庫或檔案群組中。必須解壓縮該檔案】

 

 

Error message:

2014-08-05_132807

 

2014年8月2日 星期六

VirtualBox 複製虛擬機後無法啟動網卡 Device eth0 does not seem to be present, delaying initialization

使用 Virtualbox 的 clone guest 的功能來複製一份虛擬機,但複製出來的 Guest 卻無法啟動 Network

 

 

Guest: CentOS 6.5

ifup eth0 ,啟動網卡失敗

 

 

shell# ifup eth0

Shutting down loopback insterface: [ OK ]
Bringing up loopback insterface: [ OK ]
Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization. [FAILED]