2012/06/13

使用proxmox備份時
如果image是放在local 或 iscsi 可以使用snapshot的方式來進行backup
如此就不會有downtime
但要注意
因為LVM會在/mnt/vzsnap0產生一個原image的snapshot
所以/mnt/vzsnap0所在的磁碟空間必須要大於或等於欲備份image的大小
否則備份就會不成功
只能使用suspend來備份

20120615 修正

應該是進行snapshot備份時會先把原來的檔案lock住
之後的變動先寫到暫存區
備份完成後再unlock
再把暫存區中的資料寫到檔案上
所以只要時間不長
用來放暫存資料的空間不需要很大

2012/06/09

今天一直在找串流的解決方案
目前比較方便的方法是直接使用html5的video tag
再把檔案轉成webm 或 mp4放上去
以下是可以轉檔,合併,裁切的軟体
還不用
http://www.freemake.com/tw/

2012/05/29

升到 1204 後每次開chrome都會出現“存取預設鑰匙圈"的對話視窗
查了一下資料
執行 seahorse
把"預設" 那筆資料刪除就ok了

2012/05/28

一般crontab都是在背景執行
但有個需求是在圖形介面下要執行chrome
就必需要借用xterm了
指令如下

1 1 * * * /usr/bin/xterm -display :0 -e /usr/bin/google-chrome http://udn.com

2012/05/27


要在ifame裡讓網頁能refresh
只要在原始的網頁加上meta就可以了
如下

test.html

<html>
<body>
<Iframe src="1.html"; width="800" height="25" scrolling="no" frameborder="0"></iframe>
</body>
</html>
=====================================================

1.html


<html>
<head>
<meta http-equiv="refresh" content="2" />
</head>
<body>
ifram 8888
</bdoy>
</html>

如此只要修改1.html的內容 test.html 2秒後就會自動更新

如何讓chrome 一執行就進入全螢幕並且開啟 http://www.hinet.net

chrome.exe --kiosk http://www.hinet.net
今天想到一個需求
要將youtube的影片自動並重複播放


新版iframe內嵌程式碼
新版因為採用新的技術來播放影片,而YouTube也尚未釋出新的自動播放參數,所以只需修改一下新版iframe內嵌程式碼 就可以達成我們自動播放YouTube嵌入影片的目的!
原理是把新版iframe內嵌程式碼的影片網址改成舊版embed內嵌程式碼的影片網址就可以重新使用舊版的YouTube嵌入影片的自動播放參數。

首先必須把藍色的embed

<iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/pY5jko0w8PQ" frameborder="0" allowfullscreen></iframe>

改成v
<iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/v/pY5jko0w8PQ" frameborder="0" allowfullscreen></iframe>

然後同樣地把自動播放參數
&autoplay=1

重複播放參數為
&loop=1

加在綠色的影片ID後面
<iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/v/pY5jko0w8PQ&autoplay=1&loop=1" frameborder="0" allowfullscreen></iframe>

http://happy-yblog.blogspot.com/2011/03/youtube_28.html

===================================================================
建立公開播放清單後也可以使用

<iframe width="853" height="480" src="http://www.youtube.com/embed/videoseries?list=PL79665B85A32A6DC1&amp;hl=zh_TW" frameborder="0" allowfullscreen></iframe>

改為

<iframe width="853" height="480" src="http://www.youtube.com/embed/videoseries?list=PL79665B85A32A6DC1&autoplay=1&loop=1" frameborder="0" allowfullscreen></iframe>

用BlueGriffon編輯時以上的語法會顯示有錯誤

要改成如下


<iframe width="560"
          height="315" frameborder="0" src="http://www.youtube.com/embed/videoseries?list=PL79665B85A32A6DC1&amp;autoplay=1;loop=1;hl=zh_TW"
          allowfullscreen="1"></iframe>


還沒找到去除廣告的方法

2012/05/25


今天使用了openfiler測了一下iscsi
感覺還不錯用
iscsi應該是未來考慮的方向
但iscsi無法用來backup
所以backup還是要用nfs

LVM Groups with Network Backing

In this configuration, network block devices (iSCSI targets) are used as the physical volumes for LVM logical volume storage. This is a two step procedure and can be fully configured via the web interface.
  1. First, add the iSCSI target. (On some iSCSI targets you need to add the IQN of the Proxmox VE server to allow access.)
    • Click 'Add iSCSI Target' on the Storage list
    • As storage name use whatever you want but take care, this name cannot be changed later.
    • Give the 'Portal' IP address or servername and scan for unused targets
    • disable 'use LUNs direcly'
    • Click save
  1. Second, add LVM group on this target.
    • Click 'Add LVM Group' on the Storage list
    • As storage name use whatever you want but take care, this name cannot be changed later.
    • For 'Base Storage', use the drop down menu to select the previously defined iSCSI target.
    • For 'Base Volume' select a LUN
    • For 'Volume Group Name' give a unique name (this name cannot be changed later).
    • Enable shared use (recommended)
    • Click save


http://pve.proxmox.com/wiki/Storage_Model#LVM_Groups_with_Network_Backing
這個方法是開win7分享比較快的方法


控制台/ 網路和網路時間 / 網路和共用中心

點 網路共用設定 遵守以下開放設定

開放網路探索

開啟檔案及印表機共用

開啟共用,只獨取具有網路存取的人員讀取和寫入公用資料夾中的檔案

關閉以檔案保護共用

使用使用者帳戶和密碼連線到其他電腦    <<我這個剛好沒設定到!

在資料夾 按 鼠標 右鍵

共用對象 / 特定人員

選擇 Guest 點 新增(A) 後 按下 共用(H) 離開 其他作業系統 網路芳鄰 就可進入
這是要在名稱那設個Guest這個名稱,再按照過程設定!


http://tw.myblog.yahoo.com/jw!s3sQQxaBGw6A8aLmgO3xCzgU/article?mid=290&prev=291&next=289

2012/05/22

今天把snort 升到2923
有點小麻煩

首先需要再上
libdnet-1.11-1.2.el6.rf.i686.rpm
才能安裝
裝完改完config
執行
 /usr/sbin/snort-mysql -i eth1 -D -c /etc/snort/snort.conf
出現找不到 libdnet.1這個檔
明就有裝 Orz
找了一下

/usr/lib/libdnet.so.1.0.1
/usr/lib/libdnet.so.1


但沒有libdnet.1
算了
link給牠
ln -s libdnet.1 libdnet.so.1.0.1
再執行
/usr/sbin/snort-mysql -i eth1 -D -c /etc/snort/snort.conf

搞定!!

PS. oinkcodes還是不能下載 已經一個多星期了 效率有夠差的 還收錢

2012/05/21

之前把python轉成exe時在轉完後都要用7z壓縮後再轉成exe檔
今天找到一個方法
直接就可以用了

把setup.py改成如下就可以了

from distutils.core import setup
import py2exe
 
setup(
    options = {"py2exe": {"compressed": 1, "optimize": 0, "bundle_files": 1, } },
    zipfile = None,
    console=["test.py"]
)

再執行

c:\python27\python.exe setup.py py2exe


2012/05/18

今天有必須在win上使用sftp來備份的需求
找到了這一篇
還不錯用
winscp可以下載portable的版本 不用安裝


@echo on (將執行中的訊息印出來)
cd c:\program files\winscp (再把工作目錄轉到 winscp的安裝目錄)
winscp.com /command "option transfer automatic" "option echo on" "open sftp://username:password@11.22.33.44:22" "synchronize remote -mirror -delete -criteria=both d:/somedir /myhome/remotedir" "close " "exit"

其中一對quotation mark代表一個指令
前面兩個option設定transfer mode(option transfer automatic), 並印出執行間的訊息(option echo on)
再來用ssh的帳號(e.g. username)密碼(password,請用你自己的) 走sftp,port22登入 (open sftp://username:password@11.22.33.44:22)
最後 "synchronize remote -mirror -delete -criteria=both d:/somedir /myhome/remotedir"
做synchronize 採單向備分(參數remote),如果有檔案在遠端 (/myhome/remotedir)目錄下,卻不在local (d:\somedir) 裡,就將其刪除 (參數 -delete)
完成以後利用 "close" 關閉這一個session,再利用 "exit"離開 winscp
最後再排程執行即可


http://freegroupon.blogspot.com/2012/03/winscpsftp.html

2012/05/14


升到ubuntu 12.04後snmpwalk取得的值也變了
變為都是iso開頭
所以這部分程式也要改

原 /usr/bin/snmpwalk -c test -v 2c 1.1.1.1 enterprises.26104.1.1.1.3 已不能用


要改成如下

/usr/bin/snmpwalk -c test -v 2c 1.1.1.1 iso.3.6.1.4.1.26104.1.1.1.3

不知為什麼 :(
升到12.04後
mysql_db_query已不再支援
所以程式做了一點修正


$link=mysql_connect(localhost,test,test);//先連上資料庫
$sdb=mysql_select_db(cacti,$link);//再選擇使用那一個db(cacti)
$sqlins="select hostname,status,status_fail_date from host where status = 1;";
//$res=mysql_db_query(cacti,$sqlins,$link);//已不再支援
$res=mysql_query($sqlins,$link);//改用mysql_query
今天把cacti的机器由8.04升到12.04
目前看來應該是ok
再觀察看看

2012/05/13

openvas 2012/5/10出了 5版
原來安裝的4版會自動升級
但升級完後不能用
重新跑了
openvas-setup
重開机後ok

2012/05/10

最近買了一台Fluke LinkRunner AT Network Auto-Tester
廠商建議把L2 switch的lldp打開
在brocade上只要進config
下 lldp enable即可

後記
設了之後fluke還是看不到switch的訊息
詢問原廠中
還沒下文


2012/05/06

為了要備份mail
選擇使用rsync
但因為資料資料將近1T
而且都是小檔案(maildir格式)
一開始要全部rsync時總會做到一半就斷了
只好再次rsync
前後好几次
終於完成第一次全部的rsync
接下來每次只要rsync異動的部分
約半小時
使用crontab每天二點來做

指令如下

if [ -d /mnt/mail ]; then

        #echo "ok"
        /usr/bin/rsync -av --delete --size-only /home /mnt/mail > /root/rsync_log
fi

使用if來check的原因是為了避免如果nas沒mount到
會把/mnt塞爆

2012/05/03

最近有個需求就是user的proxmox机器是不上internet的
但硬体上的時間卻一直不準 差了好几天
唯一能上網的是一台win 7
本來是想用win 7內建的 w32time來當ntp
但試了好久就是不行
查了一下資料
win預設的ntp是不能提供linux對時的
找到了以下的軟体
http://www.meinberg.de/english/sw/ntp.htm#ntp_nt_stable
裝上後在win 7上加一條 f/w的規則
把udp 123打開
搞定

2012/05/02


今天測了一下rsync
參數不管怎麼下
結果好像都差不多

time rsync -v -u --inplace /var/lib/vz/images/204/vm-204-disk.qcow2 /mnt/pve/nfs_49/dns_dos/
vm-204-disk.qcow2

sent 5921015635 bytes  received 31 bytes  43061932.12 bytes/sec
total size is 5920292864  speedup is 1.00

real    2m16.284s
user    0m47.094s
sys     0m22.522s

=======================================================================

 time rsync -avy /var/lib/vz/images/204/vm-204-disk.qcow2 /mnt/pve/nfs_49/dns_dos/
sending incremental file list
vm-204-disk.qcow2

sent 5921015639 bytes  received 31 bytes  37593750.29 bytes/sec
total size is 5920292864  speedup is 1.00

real    2m37.259s
user    0m49.275s
sys     0m24.471s

=======================================================================

time rsync -av /var/lib/vz/images/204/vm-204-disk.qcow2 /mnt/pve/nfs_49/dns_dos/
sending incremental file list
vm-204-disk.qcow2

sent 5921015639 bytes  received 31 bytes  41844633.71 bytes/sec
total size is 5920292864  speedup is 1.00

real    2m20.808s
user    0m45.490s
sys     0m21.791s
今天發現了一個不錯用的工具

mirrordir

可以用來做mirror的備份
因為rsync在檔案數多的時候會有問題

用法

mirrordir dira dirb

http://pkgs.repoforge.org/mirrordir/

2012/04/28

今天把 11.04 升到 12.04
因為是fresh install
所以wireless的driver要重裝
因為目前使用的wireless nic沒有linux driver
所以必須使用windows的driver
ubuntu提供了ndiswrapper 可以直接使用windows的driver
記一下過程
apt-get install ndiswrapper
ndiswrapper -i driver.inf

到ndiswrapper 捉source回來make
產生ndiswrapper.ko
先放一份到/root 因為之後升kernel都會用到
再copy 到 /lib/modues/xxxxxxxx.generic-pae裡

vi /etc/modules
加上
ndiswrapper


以下二個步驟之後只要kernel更新都要再做一次
depmod -a (重要)
modprobe ndiswrapper

2012/04/26

2012/04/22

2012/04/20

vm移機減少down time的方法

在開机狀態先使用exdupe備份一次
exdupe z:\ backup.full

關机後再使用exdupe進行差異備份
exdupe -D z:\ backup.full backup.diff1

接下來進行還原
exdupe -RD backup.full backup.diff1 z:\

2012/04/18

自從nessus被source fire買走後
就只有二個版本 一個企業 一個home
而home版限制很多
而且學校使用home版也不合法
因此找到了 opanvas 這個號稱是nessus的分支來使用
安裝方式如下

http://blog.sina.com.cn/s/blog_6eee5308010129n2.html
 
但裝完後原來的 openvas-administrator 無法啟動 必須downgrade


yum downgrade openvas-administrator






而且gsad無法啟動 必須手動啟動 
 
gsad --port 9392 -f -v --http-only 

以下是加user的指令

openvas-adduser
 
win版的client不好用 問題一堆
建議使用web介面操作 
 
以上是在centos 5 x32的情況
大致上是這樣  
============================================================== 
重新在centos 6 x64安裝
完全沒問題
一次搞定
建議使用centos 6 x64 

2012/04/14

今天在snort的log發現來自外部的dns query ddos

所以寫了一支程式來block
要把query log打開
在/etc/named.conf裡加上



logging {


              channel query_log {


                      file "query.log" versions 1 size 20m;


                      severity info;


                      print-time yes;


                      print-category  yes;


              };


              category queries {


                      query_log;


              };


      };


restart dns


2012/04/12

因為大table 效能的問題想把mysql 的 innodb 開起來

找了半天要如何把mysql innodb enable的方法

除了在/etc/my.cnf把innodb的相關參數設好之外

還要以下的動作

/etc/init.d/mysql stop
mv /var/lib/mysql/ibdata1 /var/lib/mysql/ibdata1_bck
mv /var/lib/mysql/ib_logfile0 /var/lib/mysql/ib_logfile0.bak
mv /var/lib/mysql/ib_logfile1 /var/lib/mysql/ib_logfile1.bak

/etc/init.d/mysql start

mysql innodb myisam 轉換的方法

http://phorum.study-area.org/index.php?topic=27865.0


2012/04/11

今天在開console時一直出現
authentication failed
查了一下
原因是時間沒有對準
把ntp server重改
ntp restart
ok

2012/04/09

查看bond 0 的工作狀態

cat /proc/net/bonding/bond0
升到cacti 0.8.8之後的每次更新都必須執行rebuild poller cache的動作

升cacti 0.8.8問題還真不少
升完後rra file一直沒update導致圖出不來
查了半天
本來以為是path_rra出問題
因為這一版要去定義cacti的path
後來查了一下
竟然是poller cache的問題
真是無言
解決方法如下

以系統管理員登入後

點 左边 system utilities 再 點右边 Rebuild poller cache

Subject: Re: How do I alter path_rra? - msg#00063
List: network.cacti.user
Mail Archive Navigation:
by Date: Prev Next Date Index by Thread: Prev Next Thread Index
On Fri, 2004-02-20 at 13:26, Steve Ferguson wrote:
> I had to move my Cacti installation from /opt/software to /usr/local.
> cactid keeps trying to update the rra files in the old location. How do
> I change the path_rra setting? I can't find it anywhere in the GUI and
> I've tried grepping through various files and the database to no avail.

Just go to "Utilities" and clear your poller cache. Everything should
automatically update to the correct (new) path.

Ian


http://osdir.com/ml/network.cacti.user/2004-02/msg00063.html
今天在升到cacti-0.8.8的時候
必須在include/config.php內多改一個東西才能運作


/*
   Edit this to point to the default URL of your Cacti install
   ex: if your cacti install as at http://serverip/cacti/ this
   would be set to /cacti/
*/
//$url_path = "/";
$url_path = "/html/cacti-0.8.8/";

記錄一下 以免忘記

2012/04/02

最近打算要把proxmox 1.9升為2.0
資料檔不用動
但config有二個地方要注意

1. name不能使用 _ 必需使用 -

2.有關network的部分要修改如下
1.9
vlan0: rtl8139=2E:68:52:14:61:99

2.0
net0: rtl8139=2E:68:52:14:61:99,bridge=vmbr0

改完後直接boot就好了

2012/04/01

mysql tunning


MySQL Performance Tuning Primer Script
網站網址:http://www.day32.com/MySQL/
Script下載:http://www.day32.com/MySQL/tuning-primer.sh
執行方式:chmod +x tuning-primer.sh ; ./tuning-primer.sh

MySQLTuner
網站網址:http://blog.mysqltuner.com/
Script下載:http://mysqltuner.pl/mysqltuner.pl
執行方式:chomd +x mysqltuner.pl ; perl mysqltuner.pl


http://portable.easylife.tw/2074

2012/03/28

最近碰到一個問題很怪
user一直反應使用word 2007編輯檔案
使用doc的格式會一直出現記憶体不足的error
改用docx後到目前為止沒再發生
不知如何解釋

2012/03/24

2012/03/22

2012/03/21

今天在設定route-map
因為久沒下
所以有點忘了
記錄一下

1. 一定要先下
sdm prefer routing
這是隱藏指令 很重要

2. 再來設定 access-list
ip access-list extended 101

deny ip 192.168.0.0 0.0.255.255 host 10.0.0.3 (4786696 matches)
permit ip 192.168.0.0 0.0.255.255 any



3.設定route-map
 route-map test permit 10
 match ip address 101
 set ip next-hop 10.0.0.1

4. 再把指令下到port 上或vlan上

ip policy route-map test


http://harlemhsu.pixnet.net/blog/post/20501380-%E8%A7%A3%E6%94%BE-cisco-3560-%E7%9A%84-ip-policy-route-map-(%E7%AD%96%E7%95%A5%E6%80%A7%E8%B7%AF%E7%94%B1)-

2012/03/18

今天在找用批次檔寫一個迴圈
語法如下

for /L %%e IN (1,1,3) do e:\test.bat

2012/03/11


python 印出程式執行時間

import time

# 記錄開始時間 Record start time
tStart = time.time()

# 記錄結束時間 Record stop time
tStop = time.time()

print(tStop - tStart)

http://whhnote.blogspot.com/2010/10/python.html
在python中""" """中的為段落註解
"""
.......
......
.....
這是註解
.....
.....
.....
"""

2012/03/10

想研究一下python 畫圖
先安裝
http://my.opera.com/taiwanmonkey/blog/2012/02/19/python-2

範例

# -*- coding: cp950 -*-
import matplotlib.pyplot as plt

#以直線畫出一個三角形
plt.plot([1,20,20,1],[1,1,20,1],color="green",linewidth=5)
#畫點 r表示紅色 o表示圓形
#詳細在http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.plot
for i in range(10):
    plt.plot([2],[i*2],'ro')
    #plt.plot([i],[i*2],'r1')
    #plt.plot([i],[i*3],'r2')
    #plt.plot([i],[i*4],'r3')
    #plt.plot([i],[i*5],'r4')
    #plt.plot([i])
plt.axis([-10,30,-10,30])
plt.xlabel('x numbers')
plt.ylabel('y numbers')
plt.show()



http://blog.rexzhao.com/category/matplotlib

2012/03/08

使用python寫了一個校外KMS認証的程式
但在64位元上一直有問題
後來請朋友幫忙
發現在32位元上編譯的執行檔在64位元執行有問題
只好在64位元上再重編一次 一切正常
原始碼一個字都沒改
希望這個問題不要碰到太多

2012/03/03


今天在找要如何用python登入apache的認証網頁

找到httplib2

http://code.google.com/p/httplib2/

範例如下

import base64
import httplib2
h = httplib2.Http()
auth = base64.encodestring( 'id' + ':' + 'password' )
resp, content = h.request(
        'http://10.0.0.56/all/',
        'GET',
        headers = { 'Authorization' : 'Basic ' + auth }
    )

print resp        #傳回html的標頭

print content   #傳回html的內容

2012/03/02

7z 建立自解檔順便可以執行程式

http://teejee2008.wordpress.com/7-zip-sfx-maker/

2012/03/01

今天一台vm出現disk空間不夠的問題
參考以下的資料
搞定
改完後記得再用gparted 調整分割大小

修改虛擬機鏡像大小(qcow2/raw resize)
不多說,直接看
創建一個鏡像文件,大小1G,格式是qcow2

muxueqz@muxueqz /tmp $ qemu-img create -f qcow2 t.qcow2 1G
Formatting 't.qcow2', fmt=qcow2 size=1073741824 encryption=off cluster_size=0

查看鏡像文件實際佔用空間
muxueqz@muxueqz /tmp $ ls -alh t.qcow2
-rw-r--r-- 1 muxueqz muxueqz 193K 8月31 13:18 t.qcow2

查看qcow2信息
muxueqz@muxueqz /tmp $ qemu-img info t.qcow2
image: t.qcow2
file format: qcow2
virtual size: 1.0G (1073741824 bytes)
disk size: 136K
cluster_size: 65536

加1G(resize +)
muxueqz@muxueqz /tmp $ qemu-img resize t.qcow2 +1G
Image resized.

再查看qcow2信息
muxueqz@muxueqz /tmp $ qemu-img info t.qcow2
image: t.qcow2
file format: qcow2
virtual size: 2.0G (2147483648 bytes)
disk size: 140K
cluster_size: 65536

減1G(resize -)
muxueqz@muxueqz /tmp $ qemu-img resize t.qcow2 -- 2G
qemu-img: This image format does not support resize

!!!qcow2只能加不能減!
再查看qcow2信息
muxueqz@muxueqz /tmp $ qemu-img info t.qcow2
image: t.qcow2
file format: qcow2
virtual size: 2.0G (2147483648 bytes)
disk size: 140K
cluster_size: 65536

果然沒變
再試試改變raw格式的大小(resize raw)
同樣先創建1G大小的raw
muxueqz@muxueqz /tmp $ qemu-img create -f raw t.raw 1G
Formatting 't.raw', fmt=raw size=1073741824
muxueqz@muxueqz /tmp $ qemu-img info t.raw
image: t.raw
file format : raw
virtual size: 1.0G (1073741824 bytes)
disk size: 1.0M

可以看出raw要比qcow2多佔一些空間。
加1G
muxueqz@muxueqz /tmp $ qemu-img resize t.raw -- +1G
Image resized.
muxueqz@muxueqz /tmp $ qemu-img info t.raw
image: t.raw
file format: raw
virtual size: 2.0G (2147483648 bytes )
disk size: 2.0M

減1G(resize -)
muxueqz@muxueqz /tmp $ qemu-img resize t.raw -- -1G
Image resized.
muxueqz@muxueqz /tmp $ qemu-img info t.raw
image: t.raw
file format: raw
virtual size: 1.0G (1073741824 bytes )
disk size: 1.0M


http://www.linuxzh.org/Linux/qemu_resize.html

2012/02/26


今天在用mail.py使用hinet發信時
一直出現以下訊息

Traceback (most recent call last):
  File "send_chk_mail.py", line 5, in ?
    smtp = smtplib.SMTP("168.95.4.10")
  File "/usr/lib/python2.4/smtplib.py", line 258, in __init__
    addr = socket.gethostbyname(socket.gethostname())
socket.gaierror: (-2, 'Name or service not known')

查了半天
最後的解決方法是
把 hostname 加到 /etc/hosts

127.0.1.1       abc.com       abc

2012/02/10

今天為了要把 \ 這個特殊字元加入變數
所以查了一下資料
必須使用二個 \\ 才行
ex:

a = "c:\\"
print a
c:\

2012/02/08

在/etc/raddb/users 裡加入

blacklist_user_name Auth-Type := Reject

即可禁止user認証

2012/02/07

這個問題存在很久了
linux從vmware server轉到proxmox時
如果原來是用scsi 而proxmox也選了scsi
這是開机就會出現
kernel panic - not syncing attempted to kill init
解決方式是在proxmox中選用ide
正常boot

2012/02/06

為了要測試机櫃內加排風扇有沒有作用
有一個新的需求  要知道cpu的溫度
查了一下資料
可以使用lm-sensors來得到資料
步驟如下
apt-get install lm-sensors
(yum install lm-sensors)

#sensors-detect
一直按Enter直到看到

#----cut here----
#...................................
#....................
i2c-i801
# Chip drivers
# no driver for Winbond W83L785R/G yet
lm85
#----cut here----


在二個cut here 中間找到的就是必需insert的module
以上為例

# modprobe i2c-i801
# modprobe lm85

接下來輸入

# sensors

就會出現cpu溫度之類的監控訊息

adm1027-i2c-3-2e
Adapter: SMBus I801 adapter at e000
V1.5: +1.31 V (min = +0.00 V, max = +3.32 V)
VCore: +1.49 V (min = +0.00 V, max = +2.99 V)
V3.3: +3.30 V (min = +0.00 V, max = +4.38 V)
V5: +5.08 V (min = +0.00 V, max = +6.64 V)
V12: +11.97 V (min = +0.00 V, max = +15.94 V) ALARM
CPU_Fan: 3941 RPM (min = 0 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
fan4: 1882 RPM (min = 0 RPM)
CPU Temp: +48.8°C (low = -127.0°C, high = +127.0°C)
Board Temp: +46.0°C (low = -127.0°C, high = +127.0°C)
Remote Temp: +45.5°C (low = -127.0°C, high = +127.0°C)
cpu0_vid: +1.525 V

但在hp的机器中出現的是

#----cut here----
# You must also install and load the IPMI modules
ipmi-si
# Chip drivers
# Warning: the required module ipmisensors is not currently installed
# on your system. For status of 2.6 kernel ports check
# http://www.lm-sensors.org/wiki/Devices. If driver is built
# into the kernel, or unavailable, comment out the following line.
ipmisensors
#----cut here----
但無法使用
modprobe ipmisensors
會有error

但使用

modprobe coretemp

接下來輸入
#sensor
出現
coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +30.0°C  (high = +85.0°C, crit = +95.0°C)  

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +37.0°C  (high = +85.0°C, crit = +95.0°C)  

coretemp-isa-0002
Adapter: ISA adapter
Core 2:      +33.0°C  (high = +85.0°C, crit = +95.0°C)  

coretemp-isa-0003
Adapter: ISA adapter
Core 3:      +38.0°C  (high = +85.0°C, crit = +95.0°C)
就可以看到了


2012/02/04


http://lccnetvip.pixnet.net/blog/post/33921210-%E8%81%AF%E6%88%90%E9%9B%BB%E8%85%A6%E8%AC%9B%E5%B8%AB%E5%B0%88%E6%AC%84%EF%BC%9A%E8%AB%87-linux-%E7%B3%BB%E7%B5%B1%E7%92%B0%E5%A2%83%E5%BF%AB%E9%80%9F%E5%BB%BA

談 Linux 系統環境快速建立大量的使用者帳號
分享:      
文、小州老師

§章節:

前言
使用者帳號清單的格式
設定使用者帳號本身的密碼
開始寫 shell script
其他使用技巧作法
總結
§前言:

對於有用過 linux 的人來說,使用者帳號的建立應該是很常見的操作,比方如下的操作方式:

         # adduser jonhy

         # passwd jonhy

      當要建立的使用者帳號很少時候可以簡單用命令列快速敲入幾個指令即可。不過若是要建立的帳號數量很多時候,手動命令輸入的方式會顯得很不方便也容易出錯。所以下面來簡單介紹一下如何寫個 shell script 達成該需求。

§使用者帳號清單的格式:

要大量建立使用者帳號,前提當然是需要有一份帳號清單資訊,所以暫定格式規劃如下:

         username:password

 其中 username 表示帳號名稱,password 表示該帳號應對的密碼。該兩個欄位使用 : 為分隔即可。比方一份清單內容如下:

         peter:hello123

           allen:cvs1211oz

實際上可能會有人在 windows 上的 excel 建立帳號與密碼資訊,那可以匯出成為 csv 等格式。不過 csv 格式是以逗點為分隔字元,所以下面要使用的話只要適當改一下程式碼就可以直接使用。

§設定使用者帳號本身的密碼:

    傳統使用者新增用 adduser 命令後,還需要用 passwd 設定密碼。不過使用 passwd 設定密碼通常需要輸入兩次確認,若是要用於 shell script 非交談的環境,可能不是很方便,所以得找個方式應對。







方式1:



        passwd 命令在大多的 linux 發行版本內,有支援 --stdin 的參數可以使用。





        [root@linux ~]# passwd --help

        Usage: passwd [OPTION...] <accountName>

          -k, --keep-tokens       keep non-expired authentication tokens

          -d, --delete            delete the password for the named account (root only)

          -l, --lock              lock the named account (root only)

          -u, --unlock            unlock the named account (root only)

          -f, --force             force operation

          -x, --maximum=DAYS      maximum password lifetime (root only)

          -n, --minimum=DAYS      minimum password lifetime (root only)

          -w, --warning=DAYS      number of days warning users receives before

                                  password expiration (root only)

          -i, --inactive=DAYS     number of days after password expiration when an

                                  account becomes disabled (root only)

          -S, --status            report password status on the named account (root only)

              --stdin             read new tokens from stdin (root only)



實際使用方式如下:

         # passwd --stdin peter

 這時候只要輸入密碼按下 enter 後即可完成密碼的異動。不過考慮於 shell script 非交談環境使用,轉向用管線方式導入:

         # echo "hello123" | passwd --stdin peter

方式2:





linux 發行版本內可以找到 chpasswd 命令,該命令可以透過 stdin 讀取一對使用者帳號與密碼,最後完成密碼的異動。使用方式如下:

         # echo "peter:hello123" | chpasswd

要注意的是,chpasswd 預設使用 des 的密碼加密格式,所以若要使用 md5 或者是其他密碼加密格式,要看一下自己系統該命令的參數支援。



[root@linux ~]# chpasswd --help

Usage: chpasswd [options]



Options:

  -c, --crypt-method        the crypt method (one of DES MD5 SHA256 SHA512)

  -e, --encrypted   supplied passwords are encrypted

  -h, --help                display this help message and exit

  -m, --md5         use MD5 encryption instead DES when the supplied passwords are not encrypted

 §開始寫 shell script:

 這邊開始動工寫 shell script,程式碼很單純沒有考慮太多很細部問題,先要求可以工作為主:



        #!/bin/bash





        DATA_FILE="account.txt"



        while read line

        do

                username=$(echo "$line" | cut -d : -f 1)

                passwd=$(echo "$line" | cut -d : -f 2)

                adduser $username

                echo "$passwd" | passwd --stdin $username

        done < $DATA_FILE



程式碼透過迴圈來完成讀入檔案每一行內容,然後透過 cut 命令以逗點為分隔字元取出第 1,2 個使用者帳號與密碼欄位,最後呼叫 adduser 與 passwd 命令完成使用者新增的動作。若是要改成呼叫 chpasswd 命令設定密碼,程式碼如下一份:

         #!/bin/bash

         DATA_FILE="account.txt"

         while read line

        do

                username=$(echo "$line" | cut -d : -f 1)

                passwd=$(echo "$line" | cut -d : -f 2)

                adduser $username

                echo "$username:$passwd" | chpasswd    # 這邊同 echo "$line" | chpasswd

        done < $DATA_FILE

§其他使用技巧作法:



除了剛剛方式之外,這邊順便補充幾個額外的東西可以看情況使用。大多發行版本內使用者新增都有 adduser 與 useradd,adduser 命令各家使用方式會有點差別,不過 useradd 命令應該都差不多使用方式。在 useradd 命令有個 -p 參數可用:



[root@linux ~]# useradd

Usage: useradd [options] LOGIN

Options:

  -b, --base-dir BASE_DIR       base directory for the new user account home directory

        ......

  -p, --password PASSWORD       use encrypted password for the new user account



依據說明來看可以在新增時候直接把密碼套用進去,不過密碼需要是 DES/MD5 等等這類已經加密過可用的格式,那剛好可以透過 openssl 套件包提供的 openssl 命令達成該需求。

         [root@linux ~]# openssl passwd --help

        Usage: passwd [options] [passwords]

        where options are

        -crypt             standard Unix password algorithm (default)

        -1                 MD5-based password algorithm

        -apr1              MD5-based password algorithm, Apache variant

        -salt string       use provided salt

        -in file           read passwords from file

        -stdin             read passwords from stdin

        -noverify          never verify when reading password from terminal

        -quiet             no warnings

        -table             format output as table

        -reverse           switch table columns為 hello123 的話,可以這樣使用:

     # openssl passwd -crypt "hello123"             (這是 DES 加密演算法格式)

     # openssl passwd -1 "hello123"                    (這是 MD5 加密演算法格式)

     # echo "hello123" | openssl passwd -1 -stdin     (這是 MD5 加密演算法格式,密碼由標準輸入讀入)

不過很可惜這個版本的 openssl 命令還找不到如何產生 SHA256 等更高級的演算法加密格式.... 最終程式碼改改如下:



        #!/bin/bash



        DATA_FILE="account.txt"



        while read line

        do

                username=$(echo "$line" | cut -d : -f 1)

                passwd=$(echo "$line" | cut -d : -f 2)

                passwd2=$(openssl passwd -1 "$passwd")

                useradd -p "$passwd2" $username

        done < $DATA_FILE

§總結:

    這篇簡單談到 linux 上面如何大量新增使用者帳號的方式,過程中談到幾個小指令的應用,也可以簡單了解到熟悉 shell script 對於系統管理的優點,提供給有需要的朋友們參考。
今天再試了一下
在/etc/raddb/users裡加上
"test" Auth-Type := System
就可以使用OS帳號來認証了
必須要在OS裡建立 test 這個user帳號
之後就可以使用usermod -e 來限制user登入的時間(天為單位)
ex:
usermod -e 20120204 test

如果要修改密碼
可以使用perl

perl -e 'print crypt("abc", "AB"),"\n"'

這樣就可以列出 abc 加密後的值
saV4ITPuYyp8M
再以
usermod -p saV4ITPuYyp8M test 來改密碼了

2012/02/02


因為要測試設備的關係
而新設備無法輪詢不同的認証主机
所以想到用radius來處理
但試了很久
發現改users卻無法同時使用LDAP及OS的帳號
所以直接把user加在user裡試是ok的
範例如下

#test
"test" Auth-Type := Local, User-Password == "test"

加完後radius要重啟

2012/02/01

firefox 10 release囉

2012/01/31

CentOS6 的guest os無法使用qm shutdown
因為預設沒有把acpid裝上
yum install acpid
daemon啟動後就ok了

2012/01/30

今天問了一下廠商
etherscope II
在POE的狀態下無法測得線長

2012/01/29


http://blog.xdite.net/posts/2012/01/29/css-tricks-summary/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+xxddite+%28Blog.XDite.net%29
今天試了一下guardian 和 snort

想把log跟之前的honeypot和LP配合
這樣就可以用來 block ip了
在/etc/snort/snort.conf加上
output alert_full: /var/log/snort/alert
這樣alert才會同時進到mysql及記錄在 /var/log/snort/alert
再將guardian的alert指到/var/log/snort/alert
(依snort官方文件的方法還是無法同時寫到mysql及alert file)

---Guardian 安裝與組態---

Guardian 將監視SNORT 之Alert 訊息,並呼叫IPTABLES 以BLOCK 該IP惡意行為之套件,

 目前官方最新版本1.7

>tar zxvf guardian-1.7.tar.gz
>cd guardian-1.7
> touch /etc/snort/guardian.ignore
>  touch /etc/snort/guardina.target
>   touch  /var/log/snort/guardian.log
>cp guardian.pl /usr/local/bin/
>cp scripts/iptables_block.sh /usr/local/bin/guardian_block.sh
>cp scripts/iptables_unblock.sh /usr/local/bin/guardian_unblock.sh
>cp guardian.conf /etc/snort

組態guardian 組態檔案如下

vi /etc/snort/guardian.conf

Interface       eth0
LogFile         /var/log/snort/guardian.log
AlertFile       /var/log/snort/alert
IgnoreFile      /etc/snort/guardian.ignore
TimeLimit       86400                             #約一週釋放該被封鎖IP

[啟動guardian程式]

/usr/bin/perl /usr/local/bin/guardian.pl -c /etc/snort/guardian.conf

#guardian 啟用成功如下,將先檢查,guardian.ignore(白名單) guardian.target IP

http://blog.yam.com/keynes0918/article/40353559

2012/01/28

改善 BASE 的效能

   理由: 瀏覽網頁時很慢
   因為: 每次更新是把 snort 的資料抓取至 base 自已的 table 裡,隨著 event 資料量愈來愈大,需要固定時間更新 event cache

[1.] 安裝 lynx

[2.] 指令
         /usr/bin/lynx -source http://localhost/base_maintenance.php?submit=Update+Alert+Cache

[3.] 排程
         vi /etc/crontab
*/5 * * * * root  /usr/bin/lynx -source http://localhost/base/base_maintenance.php?submit=Update+Alert+Cache > /dev/null
[4.] 用了排程的話,如此也就不用讓 BASE自動更新
         vi base_config.php
$event_cache_auto_update = 0;

DNS and Whois cache
      /usr/bin/lynx -source http://localhost/base/base_maintenance.php?submit=Update+IP+Cache
      /usr/bin/lynx -source http://localhost/base/base_maintenance.php?submit=Update+Whois+Cache


ref: http://www.andrew.cmu.edu/user/rdanyliw/snort/acid_faq.html


更多内容 http://ssorc.tw/rewrite.php/read-270.html#ixzz1kjadFHfC

http://ssorc.tw/rewrite.php/read-270.html
mysqlcheck的用法

http://www.mtmd.tw/11-980-2-0.htm

http://www.info-artist.net/2009/05/mysql-optimize.html

2012/01/21


cacti使用自訂值的步驟大致為以下3點

  1. Data Input Methods
  2. Data Templates
  3. Graph Templates

程式吐出的格式為 name1:vaule1 name2:value2 ........几個值並沒有限制
例   abc:12 def:34 中間要有空格

cacti Graph Template Items (圖形模板項目類型)

Graph Item Type

comment ?
hrule ?
vrule ?
line1 細線
line2 較粗的線
line3 很粗的線
area 填充圖(非勾勒線條)
stack 疊加,此選項只能組合使用,不能單獨使用,且在組合使用時不能用於第一條。已探明能疊加line、area。
gprint 純數字,不是用來繪圖的,僅用於圖形下面的備註
legend 直譯:傳說。選了這個選項自動默認成了max?

Consolidation Function

last 當前值
max 最大值
min 最小值
average 平均值
CDEF Function

http://itthinker.vicp.net/?p=491

Cacti 關於DST(data source type ) 摘錄 (2010-10-27 23:55:46)轉載▼
標籤: 雜談 分類: 技術文檔
Cacti 關於DST(data source type ) 摘錄
這裡我們還需要了解一下cacti  中用數據圖形處理引擎rrdtool  中的data source type,在CACTI中的相關表現為如下:
Ø  COUNTER  :必須是遞增的,除非是計數器溢出(overflows)。在這種情況下,RRDtool  會自動修改收到的值。例如網絡接口流量、收到的packets  數量都屬於這一類型。      
Ø  DERIVE:和  COUNTER  類似。但可以是遞增,也可以遞減,或者一會增加一會兒減少。      
Ø  ABSOLUTE  :ABSOLUTE  比較特殊,它每次都假定前一個interval的值是0,再計算平均值。      
Ø  GAUGE  :GAGUE  和上面三種不同,它沒有“平均”的概念,RRDtool  收到值之後字節存入  RRA  中

2012/01/20

cacti圖出不來的解決方式

http://phorum.study-area.org/index.php?topic=50726.0
在config cacti的 data templates時
注意Associated RRA's 的 1min這個不能選
不然無法產生rrd file
原因是因為預設5min才撈一次資料
所以無法得知1min的值


在cacti中以script來畫圖
很詳細的說明

http://blog.xuite.net/jyoutw/xtech/39869008
Cacti的多种数据采集方式

http://hi.baidu.com/addcn/blog/item/13524e2265130f409922ed8a.html

MRTG 設定檔 Target 區塊常用設定

詳細的設定參數請見官方網站:http://mrtg.hdl.com/doc/mrtg-reference.en.html

以下是 MRTG 設定檔的 Target 區塊常用的設定:
MaxBytes[label]: 數字
MIB 可以達到的最大值(不要懷疑,既使不是以 Byte 為單位的 MIB 也是用這個參數)。
被測量的兩個 MIB 會共用 MaxBytes,如果要分別設定,要用 MaxBytes1 和 MaxBytes2。

MaxBytes1[label]: 數字
第 1 個 MIB 可達到的最大值。

MaxBytes2[label]: 數字
第 2 個 MIB 可達到的最大值。

Directory[label]: 文字
將此 Target 的記錄檔、網頁及統計圖檔放置於指定的目錄中。
此目錄需位於 WorkDir 目錄下,並且設定時需已存在(MRTG 不會自動建立),同時必須讓 MRTG 可以寫入。

WithPeak[label]: dwmy
強制保留並繪出記錄中的最大值,避免 MRTG 自動將舊資料整理成平均值。

Options[label]: 選項
可使用一些選向來變更輸出時的內容,所有選項必須在同一行,以 , 分隔,並且要在 Target 之後。

growright : MRTG 預設是從右至左繪製曲線,這選項可以改成從左至右。
bits : 設定圖表使用的單位,MRTG 預設是以 Byte 顯示,這個選項可以改成以 bits 顯示。
gauge : SNMP 通常是以 COUNTER 形式保存資料,MRTG 會以目前得到的值減去上一次的值來取得改變量。針對部分不會改變的 MIB 值要用 gauge 選項,例如「CPU 負載」、「磁碟容量」等。這選項要視 MIB 的資料型別而定。
unknaszero : 連不上 Target 時使用 0(預設是用上一次的值)
nopercent : 不顯示使用百分比的資訊。
Suppress[label]: dwmy
不顯示指定時間單位的統計圖表。

kilo[label]: 1024
改變單位換算方式,預設值是 1000。

YLegend[label]: 文字
圖形 Y 軸的說明文字。

LegendI[label]: 文字
第 1 個 MIB 的曲線說明。

LegendO[label]: 文字
第 2 個 MIB 的曲線說明。

Legend1[label]: 文字
第 1 個 MIB 的曲線說明。

Legend2[label]: 文字
第 2 個 MIB 的曲線說明。

Legend3[label]: 文字
開啟記錄最大值(WithPeak)時,第 1 個 MIB 的曲線說明。

Legend4[label]: 文字
開啟記錄最大值(WithPeak)時,第 2 個 MIB 的曲線說明。


http://webcache.googleusercontent.com/search?q=cache:vPUzrWnrqdEJ:weblog.gilbert.tw/%3Fp%3D22+mrtg+target&cd=3&hl=zh-TW&ct=clnk&gl=tw

Some of examples how to monitor cpu and memory usage

CPU Usage

/etc/mrtg/cpu.cfg

WorkDir: /var/www/localhost/htdocs/mrtg
LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt
Target[localhost.cpu]:ssCpuRawUser.0&ssCpuRawUser.0:public@127.0.0.1+ ssCpuRawSystem.0&ssCpuRawSystem.0:public@127.0.0.1+
ssCpuRawNice.0&ssCpuRawNice.0:public@127.0.0.1
RouterUptime[localhost.cpu]: public@127.0.0.1
MaxBytes[localhost.cpu]: 100
Title[localhost.cpu]: CPU Load
PageTop[localhost.cpu]: <H1>Active CPU Load %</H1>
Unscaled[localhost.cpu]: ymwd
ShortLegend[localhost.cpu]: %
YLegend[localhost.cpu]: CPU Utilization
Legend1[localhost.cpu]: Active CPU in % (Load)
Legend2[localhost.cpu]:
Legend3[localhost.cpu]:
Legend4[localhost.cpu]:
LegendI[localhost.cpu]: Active
LegendO[localhost.cpu]:
Options[localhost.cpu]: growright,nopercent

Memory Usage

/etc/mrtg/mem.cfg

LoadMIBs: /usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt
Target[localhost.mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.6.0:public@localhost
PageTop[localhost.mem]: <H1>Free Memory</H1>
WorkDir: /var/www/localhost/htdocs/mrtg
Options[localhost.mem]: nopercent,growright,gauge,noinfo
Title[localhost.mem]: Free Memory
MaxBytes[localhost.mem]: 1000000
kMG[localhost.mem]: k,M,G,T,P,X
YLegend[localhost.mem]: bytes
ShortLegend[localhost.mem]: bytes
LegendI[localhost.mem]: Free Memory:
LegendO[localhost.mem]:
Legend1[localhost.mem]: Free memory, not including swap, in bytes

2012/01/19

有問昨天給的OID的問題 在cacti上一直無法成功 想到退回來用mrtg 初步測試是ok的
做一下記錄

安裝完mrtg後手動產生一個test.cfg的檔案如下 (取自vbird) 部分尚未修改完成


# Created by
#          VBird 2001/10/29
### Global Config Options
WorkDir: /var/www/html

### CPU Loading detecting ...
Target[tsai.adsldns.org_person]: `/tmp/2`
MaxBytes[tsai.adsldns.org_person]: 5000000000
Options[tsai.adsldns.org_person]: bits,growright
YLegend[tsai.adsldns.org_person]: Online Users
ShortLegend[tsai.adsldns.org_person]: %
LegendI[tsai.adsldns.org_person]: &nbsp; 連線數目 :
LegendO[tsai.adsldns.org_person]: &nbsp; 上線人數 :
Title[tsai.adsldns.org_person]: WWW 上線人數統計表
PageTop[tsai.adsldns.org_person]: <H1> WWW 主機上線人數 </H1>
 <TABLE>
  <TR><TD>System:</TD>   <TD>Aerosol Lab. in Redhat 6.1 Kernel 2.2.18</TD></TR>
   <TR><TD>Maintainer:</TD> <TD>VBird</TD></TR>
 </TABLE>

另外 2這個檔是去撈private的oid值 如下


#!/bin/bash
in=`/usr/bin/snmpwalk -v 2c -c public 10.0.0.1 1.3.6.1.4.1.8837.4.1.2.3.2.    .4|cut -d '=' -f 2|cut -d ':' -f 2|tr -d ' '`
out=`/usr/bin/snmpwalk -v 2c -c public 10.0.0.1 1.3.6.1.4.1.8837.4.1.2.3.2    1.5|cut -d '=' -f 2|cut -d ':' -f 2|tr -d ' '`
uptime=`/usr/bin/snmpwalk -v 2c -c public 10.0.0.1|grep Up|cut -d ')' -f 2
echo $in
echo $out
echo 設備名稱
echo $uptime


mrtg一定要吃到四個值

接下來進行排程 就可以在 WordDir看到東西了
*/5 * * * * /usr/bin/mrtg /tmp/test.cfg

2012/01/18

今天拿到一個private OID
以下說明如何在cacti加上

自行新增 Data Sources, 利用 SNMP - Generic OID Template 這一個 template 來產生相關的 data source. 然後在新增 graph 時, 使用你新增的 data source 


http://www.docin.com/p-148600403.html

http://blog.sina.com.cn/s/blog_4e424e2101000bb7.html

http://idefeng.blog.51cto.com/304862/284032

今天為了要處理簡訊的東西
花了一點時間
原來的log是  0912345678;message
要改成 0912345678,message
順便ftp傳到簡訊server
之後把檔案刪除
程式碼如下

#!/usr/bin/python
from ftplib import FTP
import sys,getpass,os.path,os
if os.path.exists("d:\sms.txt"):
f = open("d:\sms.txt")
lines=f.readlines()
f.close()
for line in lines:
new=line.replace(';',',')
print new
sms_ok_file = open("d:\sms_ok.txt",'a')
sms_ok_file.write(new)
sms_ok_file.close()
host = '127.0.0.1'
username ='anonymous'
password = 'a@'
localfile ='d:\sms_ok.txt'
remotepath ='/'
print "HELLO"
f = FTP(host)
f.login(username,password)
print "Welcome:",f.getwelcome()
f.cwd(remotepath)
fd = open(localfile,'rb')
f.storbinary('STOR %s' % os.path.basename(localfile),fd)
fd.close()
f.quit()
os.remove("d:\sms.txt")
os.remove("d:\sms_ok.txt")

2012/01/17


實体机轉進vm後常常會出現

平行連接埠驅動程式 服務無法啟動

解決平行連接埠(Parallel Port)誤判的方法:

按一下 > 開始 > 執行 > 輸入 regedit 然後按下確定。
找出並點選下列登錄子機碼:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport
< 開始 > 項上按一下滑鼠右鍵,然後再按 [修改 ]。[ 數值資料 ] 方塊中鍵入 4,再按 [ 確定 ]
結束登錄編輯程式。
開始可以使用下列的值:
2 > 自動。這是預設值。
3 > 手冊。
4 > 停用。


ibm的机器轉vm後每次開机就會出現有個裝置無法啟動的訊息
雖然不影響操作 但看了很礙眼
到事件訊息去看了一下
原來是有個driver找不到裝置來啟動
解決方法如下

暫時修改系統參數,讓裝置管理員顯示出已安裝,但目前為離線的裝置
開dos視窗

set devmgr_show_nonpresent_devices=1
devmgmt.msc

檢視 - 顯示隱藏裝置
可以看到所有的裝置

把 ! 的裝置停用
重開就ok了

順便也可以把曾經裝過但不再使用的裝置清一清

2012/01/16

上週發現一個很怪的問題
mail server上是設定maildir而quota是做在/home預設的mail會放到/home/username/Maildir
可是當user的quota滿了後
信就寫到/var/mail/username去了
而/var沒有設quota
這到底是什麼怪事
還沒找到原因
直接再把 /var設quota了
順便再學一個指令

setquota -u username 1 2 0 0 /var


2012/01/13

proxmox 2.0要砍cluster node時必須到網頁管理介面
把Cman這個service stop後才能處理

2012/01/11

splunk 4.3 release
有在用的快更新

2012/01/06

psad搭配LP共同運作
看來效果還不錯

2012/01/02

drbd的source 端
cat /proc/drbd
0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent B r----


drbd的target 端
cat /proc/drbd

0: cs:SyncTarget ro:Secondary/Primary ds:Inconsistent/UpToDate B r----
以上為正常狀況

target斷掉時source會出現
0: cs:WFConnection ro:Primary/Unknown ds:UpToDate/Inconsistent B r----

所以只要捉 cs:SyncSource 這個值來看就可以知道是否正常

2011/12/29

Cisco 2960 Switch IOS的救援步驟
http://www.uuu.com.tw/public/content/article/120102tips.htm

2011/12/27

proxmox 2 的migrate 目前無法把disk image搬過去
不知道以後是不是都變這樣了
到官方forum問了後有人回了
要把local的share拿掉才對
proxmox 2做完update後
必須再手動安裝以下三個package
cluster才會正常
pve-cluster pve-manager redhat-cluster-pve
今天要加 proxmox node的時候發現已經不用pveca了
改用pvecm 下方的連結是document
簡單來說要在主控那台先建一個cluster
pvecm create cluser_name
之後在要加到這個cluster的机器上執行
pvecm add 1.1.1.1(主控台的ip)
之後就可以在主控台的web介面上控管了

http://pve.proxmox.com/wiki/Proxmox_VE_2.0_Cluster
今天才知道snmp v1捉超過100MB的流量會不正常 必須使用snmp v2才ok
參考了一些文章,有二個地方必須要改
1.snmpwalk -v 2c -c public 10.0.0.2 ifHCInOctets
看看設備是否支援64bit的snmp v2 這樣才能拿到正確值
2.修改cacti上的介面參數如下



2011/12/26

今天再玩了一下proxmox 2 beta的update
ie還是有問題 使用chrome ok
記得到datecenter的storage把backup加進去
不然沒法備份

2011/12/25


ICMP的攻擊手法


1. Ping of death:  傳送封包長度超過 65535 Bytes 的 ICMP echo request 封包到攻擊目標,  這樣的封包經過切割 (fragment) 成多個封包,傳送到目的端後, 目地端進行 IP 封包重組後. 結果是個長度超過 65535 Bytes 的 IP 封包, 就可能造成目地端的接收 buffer overflow, 導致其 TCP/IP stack 運作異常或 crash. 不過這個弱點, 現在的 OS 都已經 fixed, 所以這種攻擊已經很少了.所以這種攻擊, 不歸類為 洪水攻擊(flooding). 


2. Ping of flood:    簡單的說就是用超過目地端能負荷的大量 ICMP echo request 封包灌爆目地端. 所謂灌爆可能是目地端的封包處理能力,也可能是頻寬.


3. Smurf:    傳送大量的假造的 ICMP echo request 封包到被攻擊目標的網路廣播位址, 該封包假造 source IP 是被攻擊目標的 IP address. 所以當被攻擊目標同個 IP network 的所有人, 都會回覆 ICMP replay 封包給被攻擊目標. 造成 N 倍加成的封包量去攻擊目地端. 一樣可造成灌爆目地端的封包處理能力, 或是頻寬.


http://phorum.study-area.org/index.php/topic,66773.msg328870.html#msg328870

2011/12/24


http://www.youtube.com/user/ProxmoxVE
介紹了2.0的新功能
包含了HA的功能及backup now 及 restore (可以用來clone)
愈來愈強了

2011/12/23

今天碰到一個很怪的問題
在proxmox的机器上使用exdupe 備份
跑到一半出現 Disk full or file write protected while writing destination file
但hd還沒滿啊
可是用同樣的方式備份到nas是ok的

2011/12/20

今天早上又跳電
之後cacti log出現
ERROR: SQL Assoc Failed!, Error:'145'
接有一個錯誤的table名稱
到/var/lib/mysql/database 目錄下
myisamchk -c -r tablename.*
ok!!


http://www.cnblogs.com/nzperfect/archive/2009/07/30/1534999.html

win7無法開机如何處理


http://pcuser.pixnet.net/blog/post/29465725
今天有人介紹的新網站
http://blog.darkthread.net/
雖然我寫程式的机会不多
還是沒看到看google+同步

好久沒更新了

好久沒更新了

2007/12/06



白頭到老的秘訣

聽過黃鴻麟名字的人,我敢說大部分不是因他是沙田基督書院的校長,而是他的愛妻方法

,大名遠播。他在千禧年推出的處女作《護妻傾情四十八式》,令男士嘆為觀止,女士心

生渴望,渴望自己的另一半仿傚。
書中他分享了48個獨門的老婆秘方,創意十足。創意的背後,是四分之一個世紀的婚姻經

驗,還有業餘修讀輔導課程帶來的啟發。

啟示1:芝麻綠豆釀成衝突
婚姻,最難避免的就是衝突。就算拍拖時如何甜蜜如何和平共處,結婚之後,芝麻綠豆的


小事也可變成衝突,黃校長想不到的,只是衝突來得如此快……婚後第一頓飯,太太在廚

房煮飯,並向客廳正在看報紙的他高呼:
「收拾餐桌啦,準備吃飯呀。」
黃校長以超高速搬走桌上雜物,繼續等上菜,誰知太太從廚房出來,竟然臉色一沉。

「原來她娘家收拾餐桌的定義,不單只要搬走雜物,還要把桌子擦得一乾二淨、擺好餐具

。但我由小到大,只知收拾餐桌就是搬走桌上的雜物。」
諸如此類的分歧接踵而來……
有次太太對他說:「你不會擰毛巾嗎?」

他很懊惱,活了這麼多年,沒理由連擰毛巾都不懂嘛,原來太太一直是反手擰毛巾,他卻

相反。
這一切一切, 給他帶來許多啟示:「在生活細節上,會發現彼此有很多不同,如不存體諒包容

之心,任何一件瑣事都可以成為衝突的導火線。」

啟示2:別強迫對方改變
一段婚姻,需要夫婦倆不斷學習怎樣體諒、明白、包容一個人與適應。

「我處理過很多個案,發現婚姻破裂,都是因為欠缺這些觀念。尤其人總是偏向主觀,很

多時會用自我的標準去衡量或規範別人。」
有天他忘記帶車鑰匙,太太說:「都叫你不要把車鑰匙放在那兒啦。」
事後他跟對方說:「『放在那兒』是我的習慣,如果我把車鑰匙放在你指定的地方,只會有更多機會忘記。」
他發現,很多人結婚後不自覺要改變對方,小至擠牙膏、放物件等,都是有我無你, 忽視了應尊重對方。
「很多小事本身沒有對錯之分,反省過後,就會看到背後動機,原來是想控制對方

這是沒有必要的,因為愛人是要一起好好生活下去,並非要來控制的。

啟示3:事後溝通最緊要

他也承認,衝突是無可避免,最重要是事後溝通:「如放車鑰匙這個例子,我們了解過彼此的想法後,決定屬於我的東西由我負責擺放,屬於她的由她擺放,到了要用時,只要問對方便可。」

至於擰毛巾這回事,經過他多番驗證,證實反手確是擰得乾淨些,所以他也婦唱夫隨起來。
夫婦間最常說的一句話是:「我要你這樣做,都是為你好。」黃校長認為,凡事要看得遠一點。
「是為對方好,還是為自己好?如果要對方不做這些事,可能會帶給對方更多不舒服、更多壓力,只會造成另一個新問題。」

啟示4:維繫婚姻有如保養玻璃窗
不過,並非所有事都有最後答案。
記得新婚初期,他曾對太太說:「有沒有搞錯!用完廁所竟不把馬桶蓋打開!」
對方的反應是:「有沒有搞錯!用完廁所又不把馬桶蓋放下!」
最後小倆口後取得共識,就是馬桶蓋可開可闔。

「很多問題不在乎結果,只在乎有當時人怎麼看。事實是沒有改變,但了解後便不存在問題了。」
愛一個人,他認為最終可為對方犧牲。
如太太習慣筷子橫放,他習慣直放,遷就一下亦無妨。

不過, 如果只有容忍、沒有體諒,婚姻一樣可能會破裂。
「我覺得婚姻問題就好似玻璃窗的灰塵,假如任其累積,清理便艱難;假如任其深化,就如裂痕出現,玻璃窗最終只會破裂。」


愛妻絕招

◎鳴謝愛妻廣告
結婚20 周年紀念日當日,黃鴻麟特地在報章刊登了一篇充滿愛意的鳴謝啟示,感激太太20年來對他的照顧。之後捧著鮮花與報章,親自送到太太的辦公室。


◎致電訴衷情

黃校長格言:「永遠不在學校做個好丈夫,也從不在家做個好校長。」工作時,他從不致電給太太,但某天開會開到晚上9時,他破例打電話回家,說:「會議仍未結束,但此刻我極度掛念你。」電話另一端即時傳來朗朗笑聲。

◎電鍋裡的生日卡

某年太太生日,黃校長假裝忘記了,但當太太打開電鍋準備煮飯時,卻找到一張生日卡;之後進浴室,又找到一束鮮花;睡覺前更在睡衣內找到生日禮物。


◎每日一抱
他在研讀輔導與多年婚姻輔導的經歷後,決定了一項堅持,就是對老婆大人的每日一抱。沒有履行「每日一抱」,不得睡覺。後來發現,這原來是解決夫妻爭執的一大良方妙藥。

太太:欣賞他的小動作
「哈哈!他有時做些小動作,會令我很開心。」黃太太邱楚賢常常笑口常開,不無原因。「好像有次整理床鋪,枕頭底竟放了一份小禮物,在毫無心理準備下收禮物,感到非常非常開心。」

那麼她又會如何回應丈夫的心意?

「沒甚麼特別,作為妻子,最重要是體諒丈夫。好像他工作忙,做太太的都希望丈夫多陪伴自己,但站在他的立場,他是喜歡自己的工作才會這樣投入嘛,換了是我也會如此。」
現在若丈夫不在家,她會自行安排節目,好好享受私人空間。還有,「很多人都會把自己丈夫與別人丈夫比較,其實這只會壓低丈夫。男性最需要太太的尊重,做另一半的要不斷了解、愛護他。」
婚後初期,兩夫婦確是有些摩擦。
「其實我們都在不斷進步,有衝突時,最重要是學習退一步,停一停,怒氣自然會消除。」

吵架的藝術

兩口子還有個君子協定:

◎吵架當天清─ 一項歸一項,絕不拖泥帶水。
◎絕不翻吵─ 今天的架今天吵,昨天的事不翻吵。
◎舊事已過便已了─ 每一事件都看作一獨立事件,絕不「株連」。

一般人結婚愈久,吵架時愈喜歡說:你上次……你上星期……沒完沒了的罪狀,很容易演變成互揭瘡疤。
幸好,黃氏伉儷平日絕少吵架,每星期必做的,是抽空一起散步,談談內心話。


婚姻衝突的由來

婚姻為何會有這麼多衝突?
柴灣浸信會輔導中心主任黃麗彰說:「這是由於夫婦的情感距離拉近,很易把未了的心結、渴望激發出來。」
舉例說,某君最不喜歡別人自我中心,如身邊有個朋友自我中心,他不一定會太介意,因為彼此間還有一定的距離和容忍度。可是,當這個人與自己的距離如此貼近,內心便會出現焦慮,後期更會演變成指控、抑壓。

衝突演變成創傷
婚後,是人生另一個階段,也是衝突的開端。
夫婦來自兩個成長背景不同的家庭,很易因彼此生活習慣的差異而造成衝突;有子女後,又會因彼此