遠端使用SUDO指令

#
# Disable "ssh hostname sudo ", because it will show the password in clear.
#         You have to run "ssh -t hostname sudo ".
#
Defaults    requiretty

根據上述說明,就算sudo有開啟權限使用,由於安全性的緣故並不允許遠端使用此指令
因此需要標記起來,開放這個權限

#
# Disable "ssh hostname sudo ", because it will show the password in clear.
#         You have to run "ssh -t hostname sudo ".
#
#Defaults    requiretty
Posted in Linux | Leave a comment

typeperf 監控 M$ 系統資源

typeperf -qa > counters.txt
將 typeperf 可用的參數輸出到 counters.txt

typeperf -c “參數值”
持續針對設定參數獲得系統資訊

typeperf -c “參數值” -sc 1
僅對設定參數執行一次性取得系統資訊

typeperf -cf “參數檔案” -sc “次數” -f “CSV” -o counter_out.csv
讀取參數檔案,進行幾次性的系統資訊擷取,並將結果以 CSV 檔案格式輸出成檔名 center_out.csv

Posted in Windows | Leave a comment

Windows 創建當天目錄

if not exist %date:~0,4%-%date:~5,2%-%date:~8,2% (md %date:~0,4%-%date:~5,2%-%date:~8,2%)

假設目錄不存在,則創建目錄
目錄名稱 西元年-月-日 (Ex. 2013-06-18)

:~0,4 ==> 類似substr的功用

Posted in Windows | Leave a comment

不足位數,補0

常常在使用shell script會用到日期檔名
而這時候通常月份、日期都是兩位數的顯示方式
例如2013/6/4就必須要變成”20130604″
這時候就可以使用awk來輔助

str=`echo $i|awk '{printf "%02d", $1}'`
echo $str;

註:awk後面有空格唷

Posted in Linux | Leave a comment

Splunk Subsearch ( 或是一次執行兩個有關係的Search )

sourcetype=”mail_pop3″ [search sourcetype=”mail_pop3″ | top 100 pop3_loginfailed_ip | rename pop3_loginfailed_ip as pop3_signingon_ip | fields pop3_signingon_ip | outputcsv pop3_loginfailed_ip_top10.csv] [| inputcsv pop3_loginfailed_ip_top10.csv | return 10 pop3_signingon_ip] | stats count by pop3_signingon_ip, pop3_signingon_id

綠色:
這個搜尋主要是將POP3_loginfailed_ip的前10名輸出至pop3_loginfailed_ip_top10.csv檔案
並且同時將pop3_loginfailed_ip的欄位名稱以pop3_signingon_ip取代,以便後續input的時候使用

藍色:
接著就輸入pop3_loginfailed_ip_top10.csv檔案,並且依據pop3_signingon_ip這個欄位產生10組搜尋語法
假設pop3_login_failed_ip_top10.csv的內容為

"pop3_signingon_ip",       "_tc"
"206.54.106.82",           61296
"119.42.150.122",          61296
"211.79.36.249",           61296
"219.68.232.164",          61296
"59.124.81.159",           61296

則”return 10 pop3_signingon_ip“這句話會變成
search pop3_signingon_ip=”206.54.106.82″ OR pop3_signingon_ip=”119.42.150.122″ OR pop3_signingon_ip=”211.79.36.249″ OR pop3_signingon_ip=”219.68.232.164″ OR pop3_signingon_ip=”59.124.81.159″
也因為這樣~才會先輸出成csv再匯入那麼麻煩

所以兜起來就變成先將錯誤登入的前10名IP匯出至csv,再由csv匯入時取得透過這些IP登入成功的帳號、IP累積次數

Posted in Splunk | Leave a comment

檢查硬碟使用率

# 當發現硬碟使用率大於80%時,通知維護人員
if [ `/bin/df -h | awk 'NR==4 {print $5}' | sed 's/%//'` -ge 80 ]
then
    (
      echo To: cowman.chiang@udngroup.com
      echo From: Splunk@udnlap01
      echo Subject: Splunk Server disk usage > 80%
      echo
    ) | /usr/sbin/sendmail -t
fi

原本df輸出如下

[root@udnlap01 splunk_input_data]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/cciss/c0d0p1      99G  3.8G   90G   5% /
tmpfs                 3.9G   72K  3.9G   1% /dev/shm
/dev/cciss/c0d0p3     286G  116G  156G  43% /home

所以是抓取第四行的第五個欄位,並將其%去掉

Posted in Linux | 1 Comment

SCP一次傳送多個檔案

因為我很懶….
叫我一次一次輸入帳密= =”

#!/bin/bash

pass="{PASS}"
export pass

for num in $(seq 21 29)
do
  #upload
  export num
  expect -c '
    spawn sudo scp -rv /webmail/log_archive/2013_05/mailerd_2nd.log.1305$env(num)_m2  {USER}@{IP_Address}:/tmp/
    expect -re "password:"
    exp_send -- "$env(pass)r"
    interact
  '

  expect -c '
    spawn sudo scp -rv /webmail/log_archive/2013_05/mailerd_2nd.log.1305$env(num)  {USER}@{IP_Address}:/tmp/
    expect -re "password:"
    exp_send -- "$env(pass)r"
    interact
  '

  expect -c '
    spawn sudo scp -rv /webmail/log_archive/2013_05/mailerd.log.1305$env(num)_m2  {USER}@{IP_Address}:/tmp/
    expect -re "password:"
    exp_send -- "$env(pass)r"
    interact
  '

  expect -c '
    spawn sudo scp -rv /webmail/log_archive/2013_05/mailerd.log.1305$env(num)  {USER}@{IP_Address}:/tmp/
    expect -re "password:"
    exp_send -- "$env(pass)r"
    interact
  '
done
Posted in Linux | Leave a comment

快速插入 Vim

在編輯script文件的時候
常常會需要用”#”去註解暫時不需要的程式碼
這時候就可以
1. “ctrl+v” 選擇區塊
2. “大寫I”
3. “插入的符號#”
4. “ESC”

如果要把把#刪除掉
這時候可以
1. “ctrl+v” 選擇區塊
2. “小寫s”
3. “ESC”

就ok了~~快很多吧!

Posted in Linux | Leave a comment

mail in Cron…..error

之前在處理告警信件都是用一個process一直run、一直run
而這次在處理splunk的時候是每天早上6:00run一次就好,原本想沿用之前的方法

mail -s "Mail Subject" "Mail Recipient" < "Mail Body text file"

在shell下直接測試的時候都沒問題...但是使用cron跑的時候卻會一直收到夾帶檔案"noname"的信件 ( 沒有信件內容 )
網路上查了一下,發現不少人都有一樣的問題
後來參考了stackoverflow這一篇的說明
將mail改用sendmail取代

(
  echo To: Mail Recipient
  echo From: Mail Sender
  echo Subject: Mail Subject
  echo
  cat Mail Body text file
) | /usr/sbin/sendmail -t

再用cron測試~ok了!

Posted in Linux | Leave a comment

Shell script 數學邏輯符號

shell script 不能使用 >、<….
方式請參考下面
= 等於 -eq

= 大於等於 -ge
大於 -gt
<= 小於等於 -le
< 小於 -lt
≠ 不等於 -ne

迴圈次數 + 1
用 expr 指令去計算 (符合sh結構)

  i=`expr $i + 1`

Source: http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?post_id=63593

Posted in Linux | Leave a comment