2011年3月16日 星期三

我透過windows client端,透過事件控制,windows自動發布一個指令連上B linux伺服主機,並利用B linux伺服主機關閉A linux伺服主機的方法

由於有些ups不斷電系統支援斷電時,自動關閉伺服器的功能,我手邊就有這樣一個ups,然而它雖說有支援linux,實際上我雖將它的控制程式安裝起來了,也捉的到該ups卻真的遇到停電時,它卻無法真的做到自動關機與重開機。

所以我現在只好做另一種嘗試,那就是在該ups上接兩台pc,一台是A linux server,一台是windows client,然後透過windows client端,當斷電事件發生時,windows client會自動發布一個指令連上B linux伺服主機(windows client能直接透過ssh連線),並利用B linux伺服主機關閉A linux伺服主機(與B linux伺服主機同一個網段裡,但被router限制,所以雖與windows client接在同一個ups上,卻不能被windows client直接透過ssh連線)。

為了達到這個目的,我做了如下動作:

windows client安裝ups for windows的控製程式,並設定當斷電時,自動執行這個程式指令:

plink -P 端口 用戶帳號@B主機IP –pw 密碼 sh halt204

2011年3月12日 星期六

我的linux系統硬碟掛載方式

檔案系統               1K-區段      已用     可用 已用% 掛載點
/dev/mapper/VolGroup00-LogVol00
                     113410608  12249788  95306820  12% /
/dev/sda1             19919336    235208  18654668   2% /boot
tmpfs                  1553280         0   1553280   0% /dev/shm
/dev/sdb1  /var/www/g2data  ext3  nosuid,noexec,nodev  0  0
/dev/sdc1  /var/www/html  ext4  nosuid,noexec,nodev  0  1

有黃色底色者為另外兩顆獨立硬碟,用以放置網路應用之系統及其資料
擴充資料碟空間時,先準備兩顆大容量硬碟,分別mount到任意路徑位置,在此先假設分別為/dev/dirk1,及/dev/dirk2兩個目錄,接著分別將/var/www/g2data的所有資料(含目錄結構及檔案屬性)完整拷備到到/dev/dirk1這個目錄(以cp –a /var/www/g2data/* /dev/dirk1/),及/var/www/html的所有資料(含目錄結構及檔案屬性)完整拷備到到/dev/dirk2這個目錄(以cp –a /var/www/html* /dev/dirk2/),若系統碟重灌,還必須將mysql的所有資料拷備(因為資料庫資料是放在系統碟裡)到手邊的其他資料庫備份碟裡(此硬碟也必須掛載到某個目錄裡,然後執行指令 cp –a /var/lib/mysql/* 掛載的目錄/ 完成資料庫備份工作),接著再將/dev/sdc1及/dev/sdb1分別解載,這時原來系統碟仍然會有/var/www/g2data及/var/www/html這兩個目錄,只是其中沒有任何檔案,若移機(即系統碟重灌)在新的主機上將linux系統灌起,而後再將兩顆新的大容量硬碟依原資料位置分別掛載到/var/www/g2data及/var/www/html這兩個目錄裡,備份的資料庫複製回/var/lib/mysql這個目錄裡(cp –a 掛載的目錄/* /var/lib/mysql/ )原則上只要是系統碟的主要程式與原系統碟安裝的相同,應該就可以運作了。若只是擴充資料碟空間,則資料庫的動作就不必做了!

Qnap NAS ssh登入,僅能以金鑰登入而不能以密碼登入的設定法

找到 /etc/ssh/sshd_config

vim /etc/ssh/sshd_config

找到  #PasswordAuthentication yes

#刪掉,並將yes改為no,重新啟動ssh服務。當然前提是要對你用以登入該NAS的client端之電腦產生連線登入金鑰,並上傳到NAS主機裡。

其做法有兩種,請分別看以下之文章:

若你的client端為linux系統請看這篇:兩台linux主機以ssh自動登入,不無打入密碼的方法!

若你的client端為windows系統請看這篇:使用public/private key讓putty(ssh)自動登錄(以及linux上使用金鑰做ssh自動登陸)

ssh無法順利登入時,查看更多訊息的參數

ssh -vvv username@yourhost.com

  • -vvv即是其參數

scp傳送資料指定port的參數

若遠端主機ssh的port為8023則指定port的參數語法為

scp –P 8023 這端檔案路徑 root@位址:檔案路徑

若:

  1. 遠端主機ssh的port為8023
  2. 這端要傳送的檔案路徑為 /var/www/html/*
  3. 要登入遠端的身份為admin
  4. 遠端的位址為ccsh.no-ip.tw
  5. 遠端的路徑為/home/data

則完整的指令參數為:

scp –P 8023 /var/www/html/* admin@ccsh.no-ip.tw:/home/data/

  • 其中–P必須是大寫