顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


文章 - logichom

頁: [1] 2 3
1
記得這問題之前有討論過喔 ...

先確認那程式是如何寫 log 的
若由 syslog 管理 , 那就將 log 導向 54000 port
用 perl 開個 54000 port 專收這 log 檔
就可以即時過濾出動作 , 立即執行並另外寫 log
對啊,發完文才想到文不對題,就將錯就錯了,目前應該還是用tail指令去讀log,待發生問題後再嘗試前輩的方法。

2
Linux 討論版 / Re: 關於flock指令運用問題
« 於: 2015-11-10 10:58 »
在你的 .pl 去做 lock (不是 lock log 檔, 是自己產生一個檔案來 lock).
這樣可以確保同時只有一個 test.pl 會執行.
是不是隨便產生一個lock檔然後後面接自己的程式?
例如:* * * * * flock -xn /var/run/test.lock -c /root/test/test.pl (其中test.lock為隨意命名的檔案,未事先新增此檔案)

3
用 tail -f log_file ?
感謝前輩指點,目前採用把tail -F指令放到crontab去執行
為何用-F而不是-f主要是因為log檔會有logrotate問題
不過尚未測試,不知有沒有需要把程式後面加&讓他在背景執行
crontab內容:
引用
@reboot root tail -F /var/log/test/test.log | /root/my/my.pl

4
起因:為了不漏掉log,所以程式都是無限迴圈讀檔,這樣會造成使用率飆高以及影響系統效能
需求:能隨時監控log有無關鍵訊息(例如使用者登入),然後去觸發並執行註冊程式,如有問題能告知管理者

目前找到logwatch及swatch這兩種工具
由於還沒用過所以不知道是否符合我的需要
那還有想請教各位是否還有更適合以上需求的工具?

5
Linux 討論版 / 關於flock指令運用問題
« 於: 2015-10-29 10:11 »
在crontab中增加一支perl script
example:* * * * * root perl /root/test/test.pl

該script是要去讀log檔,然後將該log檔中的資料寫入資料庫
而我觀察到不知是否該log檔會持續增加
然後script又設定成每分鐘執行
去看程序發現一段時間後會有好多支同時執行

為了解決此問題我找到flock這個指令,可以用在crontab上
不過好奇如果程式鎖定中,會不會影響log增加?
意思是說如果script執行中,log會不會就不會增加資料?
example:* * * * * flock -xn /var/log/myserver/syslog.log -c /root/test/test.pl

6
HSTS問題似乎無解...

7
自己架了一台server並且將認證頁面放在上面
目前認證網頁存在http與https兩種
但是從其他電腦要連上來時開啟某些網頁會被擋下
而且不讓你繼續前往認證網頁

這邊說明一下:
我的網頁會有一台DHCP server做DNS解析,所以連上來的人都會被導到我的頁面做認證,認證完才能上網。
所以不管你的最愛還是要連的網站是走http or https都可以連線。
用戶的行為是開啟瀏覽器->點擊我的最愛網頁/直接輸入網址->跳出認證頁面->輸入帳密->認證成功即可上網

然後我觀察到被擋的網頁都是如Yahoo等知名網站而且是走HTTPS的
想請問有辦法做到不管使用者連什麼網頁都可順利導向到我的認證頁面嗎?
被阻擋的原因不外乎是目標網站採用HSTS...

目前有在考慮轉用pfsense但是他似乎沒辦法像我用centos+apache靈活

8
好的,謝謝以上幾位前輩的指教

9
試試改成這樣看是否可以:

RewriteEngine On
RewriteRule !^(auth\.html) http://localhost/auth.html [L,R=301]

謝謝!可以正常重新導向到我的認證頁面,但是認證變成有問題...
導過去的認證頁面圖片顯示不出來,然後網頁功能幾乎廢掉,因為輸入帳號密碼按送出後還是又停在原本的畫面

10
個人試著使用apache rewrite功能,但是會跳error,網站顯示可能有重新導向問題
.htaccess程式碼如下:
引用
RewriteEngine On
RewriteRule ^(.*) http://localhost/auth.html [L,R=301]
哪裏出了問題?
我是希望使用者不管輸入任何網址都可以導向到我的認證頁面

11
不知道是不是 radius ?
跟radius應該比較沒關係吧???
我是覺得應該要從apache下手
有錯請糾正,謝謝

12
目前建好一台Web server,上面起了apache,然後我自己寫了一個認證網頁(x.html)
但是目前有個問題就是當使用者一連上網路後會要求先認證,開啟瀏覽器後只能輸入非https(例如:https://www.aaa.com/,就不行)
及URL網址不包含/後面路徑(例如:http://www.aaa.com/b,就不行)的網頁才能順利導向到我的認證頁面

有考慮使用apache的rewrite,這樣或許可以避免上述情況但是好像沒辦法允許使用者輸入任意網址
請問這是apache的限制嗎?還是有什麼方法可以調整?

我的目標是希望能做到像校園網路認證,使用者一開瀏覽器就自動導向到認證頁面
如果不行就只能使用者輸入任意網址來重新導向了...
補充一點,我的web server後端有台DHCP server會負責將使用者連線導到我的server

13
個人將crontab設成
引用
@reboot root /root/premyscript.sh &

然後premyscript.sh內容為
引用
while $(sleep 5);do
perl /root/myscript.pl
done

重開機後發現程式每7秒執行一次、每次執行30次
雖然CPU使用率不高不超過50%,跟我預期的還是不太一樣...


14
script本身就在跑無窮廻圈了啊,不需要crontab了,設成init daemon來跑吧...
如果要用crontab,建議加 lock file:

1. 執行時先檢查 lock,如果有就 exit
2. 沒有就 touch, 然後執行程式碼
3. 結束刪除 lock (建議增加 trap 在捕獲 SIG 2,3,25 時一併刪除lock)
p.s. 建議 lock 寫在 /var/run 裡面,這樣開機時才會被自動清除。或自行清除。
受教了,謝謝,看起來設成daemon來跑應該比較簡單,我再自行研究,抱歉對linux還不是很熟...
另外我有想到把該script放到crontab設成@reboot root /root/premyscript.sh不知道會不會有用 ???

15
既然都已經 「自體」 無限迴圈執行了

那就不要在 crontab 執行了

crontab 每分鐘執行一次,當然會越累積越多
原來如此,謝謝指教

16
你那行指令列執行後 , 沒顯示任何字串嗎 ?

top -c
perl 呼叫都是同一隻嗎 ?
[/quote
執行完這行
for i in {1..10};do perl /root/myscript.pl;ps ax | grep myscript.pl | grep -v grep ;done
只有出現我程式中輸出時間的資訊而已,沒任何錯誤

兩支perl檔案放在同個目錄做差不多事情但是都是讀不同log檔、然後寫到資料庫去

17
in 後面有空格的
照貼就好

script 也是
謝謝!
我修正後並執行,發現CPU使用率還是蠻高的,整體CPU使用率飄很大最高有到97%,perl使用率使用率差不多在17-47.9%
與您提供的地方不同的只有script的目錄及crond(我是* * * * * root /root/level1/premyscript.sh)
有辦法驗證此方法對降低整體CPU使用率嗎?
另外我不是只執行2支perl程式嗎,怎麼背景這麼多支程序在跑?
以上問題再麻煩各位前輩了,謝謝

引用
[root@localhost Desktop]# top -n 20

top - 16:28:34 up 12 min,  2 users,  load average: 5.02, 2.73, 1.23
Tasks: 252 total,   7 running, 245 sleeping,   0 stopped,   0 zombie
Cpu(s): 92.2%us,  7.6%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:   3925656k total,  1348084k used,  2577572k free,    30952k buffers
Swap:  4128764k total,        0k used,  4128764k free,   232532k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
 4746 root      20   0  327m 149m 3024 R 39.2  3.9   0:01.18 perl               
 4742 root      20   0  366m 175m 5072 R 38.2  4.6   0:01.56 perl               
 4748 root      20   0  303m 125m 3024 R 29.6  3.3   0:00.89 perl               
 4750 root      20   0  290m 112m 3024 R 24.6  2.9   0:00.74 perl               
 4754 root      20   0  239m  61m 3020 R 11.6  1.6   0:00.35 perl               
 4755 root      20   0  236m  58m 3020 R 11.3  1.5   0:00.34 perl               
 2575 root      20   0  706m  26m  15m S  0.7  0.7   0:02.12 nautilus           
 1404 dbus      20   0 32544 1952  888 S  0.3  0.0   0:00.25 dbus-daemon       
    1 root      20   0 19356 1536 1224 S  0.0  0.0   0:00.98 init               
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd           
    3 root      RT   0     0    0    0 S  0.0  0.0   0:00.01 migration/0       
    4 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0       
    5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/0         
    6 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/0         
    7 root      RT   0     0    0    0 S  0.0  0.0   0:00.28 migration/1       
    8 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/1         
    9 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/1       
[root@localhost Desktop]#

18
依照指示出現如下錯誤:
引用
[root@localhost Desktop]# for i in{1..10};do perl /root/myscript.pl;ps ax | grep myscript.pl | grep -v grep ;done
bash: syntax error near unexpected token `in{1..10}'
[root@localhost Desktop]#

是哪裡有打錯嗎?

19
然後測試 sleep 起不起作用
我將myscript.pl多了一行print "Time:".strftime("%H:%M:%S",localtime(time))."\n";
然後觀察輸出的log
發現到雖然會每隔5秒執行
但是每次執行都不只執行一次
log長的如下
13:15:00
13:15:00
.
.
.
13:15:05
13:15:05
.
.
.
好奇怪,怎麼每秒執行好多次而不是一次?
觀察久一點發現sleep會沒有正常執行,有時隔1秒,有時隔10秒...

20
myscript.pl程式執行時間我是參考以下網頁的方式:
http://note.tc.edu.tw/168.html

使用Time::Elapse模組來測試,得到的資訊是00:00:00.007420
這樣會是哪裡有問題?

21
如題,個人寫了一個script,想將它放到crontab中然後每5秒執行一次,
在這當中從網路上查了很多資料結果都無法執行,都是需要另外寫一個sh來執行,
然後就在我高興地寫完並放到crontab中執行時,主機的風扇就開始狂轉,一看CPU使用率發現飆高,
大約從40%到99%之間在跳,想說有沒有辦法不讓CPU使用率飆高的方法,也有沒有可能是我程式沒寫好?

雖然跟主題無關還是貼上來給大家看一下
失敗的crontab語法:
引用
* * * * * sleep 5; root perl /root/myscript.pl
* * * * * sleep 5; perl /root/myscript.pl
* * * * * sleep 5; /usr/bin/perl /root/myscript.pl
* * * * * sleep 5 && root perl /root/myscript.pl
* * * * * sleep 5 && perl /root/myscript.pl
* * * * * sleep 5 &&  /usr/bin/perl /root/myscript.pl

所以寫了個myscript.sh並放到crontab中執行
crontab:
引用
* * * * * root /root/myscript.sh

myscript.sh:
引用
#!/bin/bash
while true
do
 perl /root/myscript.pl
 sleep 5
done
exit 0


22
網頁技術 / Re: 網頁抓取client端MAC address?
« 於: 2015-03-23 10:00 »
這資訊是要給 server 看 ... 還是要給 client 看 ?

server 把 samba 開起來
<a href="\\1.2.3.4\share\ipconfig.bat">不害你</a>
(chrome , firefox 好像要加 file: 開頭)

若要傳回 server , bat 檔呼叫 browse 接網址+參數
告知跳出警告別怕就好


ps ..
小弟曾為了找辦公區虛擬電腦
使用 sshpass 進 switch 再 show mac address-table
還有 .. 網路上有個網站有收集各家網卡資料可以比對喔

謝謝,資訊是要給server的
另外我的server是centos~
好像沒辦法執行.bat ... :-\

23
網頁技術 / Re: 網頁抓取client端MAC address?
« 於: 2015-03-19 11:15 »
似乎網頁是沒辦法做到
如果能做到也只是針對特定的狀況
無法全面一體適用

BTW
根據爬文結果
有消息顯示使用tomcat可以獲取
但是實際作法要再研究...

24
網頁技術 / Re: 網頁抓取client端MAC address?
« 於: 2015-03-18 17:06 »
在內網嗎?

不是內網就自己寫AP包一個webkit抓local MAC送。
謝謝。
是在同一個內網喔~

25
網頁技術 / Re: 網頁抓取client端MAC address?
« 於: 2015-03-18 17:03 »
嘗試使用applet:
http://techdetails.agwego.com/2008/02/11/37/

於centos底下解壓後執行
於瀏覽器執行.../web/macaddress.html 後有畫面出來但是點了沒反應
就差那麼一點了,不知道是哪裡出了問題真可惜...

26
網頁技術 / 網頁抓取client端MAC address?
« 於: 2015-03-18 16:29 »
先聲明,
本人已先上網爬過文,想抓取網頁client端MAC的原因是為了要將資料送給認證伺服器做IP與MAC的綁定。

爬了許多文,本來是想直接使用PHP來達成,但是做不到,另外網路上的資料顯示說:
引用
从网上查找资料java/jsp获得客户端(IE)网卡MAC地址的方法大概有三种。
1、通过命令方式,在客户端执行Ipconfig 等等
2、通过ActiveX的方法
3、通过向137的端口发送查询指令的方法

其實應該是4種,第4種就是使用applet,但是不管,
看了很多範例,不管是用javascript還是applet,第一種或第四種方法,
似乎都無法正確取得我所想要的MAC,而且有的還限制只能取得IE或WINDOWS下的client,
這種的我也試過但是還是不行,可能IE版本太新也不行,
種種的範例都試過還是不行,難道網頁做不到我所想要的功能嗎? 就算嵌入小程式也行。
所以來這邊跟大家討論,看看能不能找出個人遺漏的方法或是有待思考的方向,
以上,麻煩各位先進、前輩了,謝謝。

27
Linux 討論版 / Re: freeradius 設定問題
« 於: 2015-03-17 10:34 »
之前有給範例 !! 可以參考他
不用去找文件

抱歉,個人還是不太懂您的意思
請問是放到/etc底下就可以了嗎?
或者radiusclient有什麼設定檔是可以修改的?

28
Linux 討論版 / Re: freeradius 設定問題
« 於: 2015-03-13 17:39 »
http://wiki.freeradius.org/project/Radiusclient

另外裝

請問直接解壓縮後要如何執行?
網路上我找不到安裝說明跟執行文件...

29
由於之前是使用Net::SSH::Expect這個模組
但是run了一段時間發現有些問題
所以就開始找替代的模組來使用
首先找了Net::OpenSSH
但是範例少得可憐
而且照著找的的範例實作還是失敗
另外我又換Net::SSH2這個模組
範例多了一些
但是還是卡在最基本的登入還有下指令
想請問有沒有大大熟悉以上提到的模組?
如果再不行可能要從linux script下手了...

30
他跑得其實是 perl

真的殺不掉就用 kill -9 1696
有查到一條指令
killall perl
功能是把所有perl process殺掉
但是如果只要殺掉某個perl process的話要再找找...

頁: [1] 2 3