vi 에서 특정 문자 포함된 행 삭제

리눅스/OS 일반|2014. 12. 31. 00:20
반응형

:g/특정문자/d

반응형

댓글()

- 로 시작되는 파일 삭제 방법

리눅스/OS 일반|2014. 12. 31. 00:19
반응형

-.tmp 파일이 있다고 할때 그냥 rm 명령으로 삭제가 되지 않습니다.

 

이때 디렉토리명을 함께 입력해주어 삭제가 가능합니다.

 

[root@sysdocu ~]# rm ./-.tmp    // - 는 특수문자이므로 앞에 역슬래시 () 를 해주어야 함.

반응형

'리눅스 > OS 일반' 카테고리의 다른 글

sed 로 행 삭제하기  (0) 2014.12.31
vi 에서 특정 문자 포함된 행 삭제  (0) 2014.12.31
sulinux 에서 fstab 수정 후 적용되지 않을때  (0) 2014.12.31
cacti 설치  (0) 2014.12.31
파일명 일괄 변환  (0) 2014.12.31

댓글()

sulinux 에서 fstab 수정 후 적용되지 않을때

리눅스/OS 일반|2014. 12. 31. 00:19
반응형

/etc/fstab 파일 수정을 하면 아래와 같이 적용 명령을 추가로 해주어야 합니다.

 

/root/bin/system_check_init --fstab

 

반응형

'리눅스 > OS 일반' 카테고리의 다른 글

vi 에서 특정 문자 포함된 행 삭제  (0) 2014.12.31
- 로 시작되는 파일 삭제 방법  (0) 2014.12.31
cacti 설치  (0) 2014.12.31
파일명 일괄 변환  (0) 2014.12.31
mrtg 설치 (cpu, ram, hdd 사용량)  (0) 2014.12.31

댓글()

cacti 설치

리눅스/OS 일반|2014. 12. 31. 00:18
반응형

cacti 설치에 앞서 rrdtool 을 먼저 설치하고 진행합니다.

 

 

[rrdtool 설치]

 

1. 관련 패키지 설치
yum install libart_lgpl*

 
2. rrdtool 설치
다운로드 : http://oss.oetiker.ch/rrdtool/pub/?M=D

위 다운로드 URL 에 접속하면 버전별로 파일이 출력됩니다.
설치를 원하는 버전의 파일 URL 을 확인한 뒤 쉘 프롬프트에 아래와 같이 다운로드 받습니다.

 

cd /usr/local/src
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.27.tar.gz
tar xvzf rrdtool-1.2.27.tar.gz
cd rrdtool-1.2.27
./configure --prefix=/usr/local/rrdtool
make
make install

 

 

[cacti 설치]

 

1. 관련 패키지 설치
yum install net-snmp* gd gd-devel libpng libpng-devel libjpeg libjpeg-devel freetype freetype-devel fontconfig fontconfig-devel libxml2 libxml2-devel openssl openssl-devel gmp gmp-devel mhash mhash-devel libmcrypt libmcrypt-devel

 

2. cacti 설치

다운로드 : http://www.cacti.net/download_cacti.php

위 다운로드 URL 에 접속하면 우측상단에 최신버전 cacti가 보입니다.
이 파일의 URL 을 확인한 뒤 쉘 프롬프트에 아래와 같이 다운로드 받습니다.

 

cd /usr/local/src
wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz
tar xvzf cacti-0.8.8a.tar.gz
mv cacti-0.8.8a /home/neulwon/public_html/cacti

cd /home/neulwon/public_html/cacti

chmod 777 log rra

 

3. 설정
DB 및 계정 생성
 

mysql -p
(mysql root 패스워드 입력)

 

mysql> create database cacti;
mysql> grant all privileges on cacti.* to cacti@localhost identified by 'cacti@@';
mysql> flush privileges;
mysql> exit

 
cd /home/sysdocu/public_html/cacti
mysql -p cacti < cacti.sql
(mysql root 패스워드 입력)

 
vi /home/sysdocu/public_html/cacti/include/config.php

 

$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti@@";

 

부분을 mysql 에서 생성한 계정정보로 수정합니다.

 
※ 참고

    나중에 cacti 웹페이지에 접속하기 위해 아파치 virtualhost 를 설정하게 되는데,

    여기서 주의할점은 DocumentRoot 를 /home/sysdocu/public_html 로 잡아야 하며, cacti 가 존재하는 디렉토리 /home/sysdocu/public_html/cacti 로 하면 연결(include) 상태가 맞지않아 웹페이지 접속이 되지 않습니다.

    추후 웹사이트 접속시 cacti 디렉토리명을 붙여서 아래와 같이 접속하도록 합니다.

    http://sysdocu.tistory.com/cacti

 

    본 매뉴얼에서는 이미 sysdocu.tistory.com 이라는 도메인이 /home/sysdocu/public_html 으로 잡혀있으므로

    virtualhost 설정 부분은 생략하였습니다.

 

4. 설치 (Cont.)

사이트 주소를 이용해 cacti 설치 웹페이지에 접속합니다.

http://sysdocu.tistory.com/cacti/install

 

진행중 각종 binary 파일 path 를 묻는 창이 뜨는데 그곳에는 아래와같이 입력해주면 됩니다.
(실제로 존재하는지 먼저 확인이 필요합니다.)

/usr/local/rrdtool/bin/rrdtool
/usr/local/php/bin/php
/usr/bin/snmpwalk
/usr/bin/snmpget
/usr/bin/snmpbulkwalk
/usr/bin/snmpgetnext
/home/neulwon/public_html/cacti/log/cacti.log
[NET-SNMP 5.x] 선택

 

이후 admin 계정 및 패스워드를 입력하라고 나오며,
초기 계정 및 패스워드를 각각 admin 이라고 입력하면 로그인됩니다.

또한 바로 패스워드 변경하라고 나오니 어려운 패스워드로 바꾸도록 합니다.

 

5. 설정 (Cont.)

cacti 에 로그인되면 좌측 상단에 [consol],  [graphs] 탭이 보이는데
[graphs] 탭에서는 처음에 그래프 이미지가 나타나지 않게 됩니다.
 

사용방법은 다른분 블로그를 참고하시기 바랍니다.

http://blog.naver.com/choi05okk?Redirect=Log&logNo=90106725324

 
또한 아래와 같은 작업은 필수이니 미리 작업해두셔도 됩니다.
 

snmpd 시작 

/etc/init.d/snmpd start
 

스케쥴러 등록
crontab -e
아래 내용 삽입 후 저장

 

*/5 * * * * /usr/local/php/bin/php /home/sysdocu/public_html/cacti/poller.php > /dev/null 2>&1

 

5분단위로 그래프가 갱신되므로 조금 시간이 흐른 뒤 확인해보도록 합니다.

반응형

댓글()

파일명 일괄 변환

리눅스/OS 일반|2014. 12. 31. 00:18
반응형

아래 파일들에서 20120613 날짜를 20120614로 변환 하고자 할때

 

-rw-r--r-- 1 root root    0  6월 13 17:16 2012061301
-rw-r--r-- 1 root root    0  6월 13 17:17 2012061302
-rw-r--r-- 1 root root    0  6월 13 17:17 2012061303
-rw-r--r-- 1 root root    0  6월 13 17:17 2012061304
-rw-r--r-- 1 root root    0  6월 13 17:17 2012061305

 

# rename 20120613 20120604 *

 

아래는 명령 실행 결과입니다.

 

-rw-r--r-- 1 root root    0  6월 13 17:16 2012060401
-rw-r--r-- 1 root root    0  6월 13 17:17 2012060402
-rw-r--r-- 1 root root    0  6월 13 17:17 2012060403
-rw-r--r-- 1 root root    0  6월 13 17:17 2012060404
-rw-r--r-- 1 root root    0  6월 13 17:17 2012060405

반응형

댓글()

mrtg 설치 (cpu, ram, hdd 사용량)

리눅스/OS 일반|2014. 12. 31. 00:18
반응형

1. 설치

yum install net-snmp* mrtg*

 

 

2. 사용자 및 디렉토리 생성

useradd mrtg

mkdir /home/mrtg/public_html

mkdir /home/mrtg/conf

 

 

3. 설정

아파치 웹서버에 virtualhost 설정을 추가합니다.

<VirtualHost *:80>
    DocumentRoot "/home/mrtg/public_html"
    ServerName mrtg.sysdocu.tistory.com

    ErrorLog "logs/mrtg.sysdocu.tistory.com-error_log"
    CustomLog "logs/mrtg.sysdocu.tistory.com-access_log" common
</VirtualHost>

 

아파치 데몬을 restart 하여 virtualhost 설정을 적용합니다.

/usr/local/apache/bin/apachectl restart

 

그다음 아래 파일을 열고 내용을 입력합니다.

vi /etc/snmp/snmpd.conf

 

com2sec local  192.168.10.2     g_snmp

group   ManagedGroup v1           local
group   ManagedGroup v2c          local
group   ManagedGroup usm          local

view all    included  .1                              80
access  ManagedGroup ""      any       noauth    exact  all all none


disk /
disk /backup

 

* 디스크는 2개로, 각각의 파티션은 /, /backup 으로 구성되었을때의 예입니다.

 

vi /home/mrtg/conf/mrtg.cfg

 

EnableIPv6: no
WorkDir: /home/mrtg/public_html
Language: korean
Options[_]: bits,growright

 

LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt

 
Target[192.168.10.2_cpu]: ssCpuUser.0&ssCpuIdle.0:g_snmp@192.168.10.2
Options[192.168.10.2_cpu]: gauge,nopercent,growright
MaxBytes[192.168.10.2_cpu]: 100
Title[192.168.10.2_cpu]: dev1 - User vs Idle CPU Usage
Unscaled[192.168.10.2_cpu]: ywmd
ShortLegend[192.168.10.2_cpu]: %
YLegend[192.168.10.2_cpu]: CPU Utilization
Legend1[192.168.10.2_cpu]: User CPU in % (Load)
Legend2[192.168.10.2_cpu]: Idle CPU in % (Load)
Legend3[192.168.10.2_cpu]:
Legend4[192.168.10.2_cpu]:
LegendI[192.168.10.2_cpu]: User
LegendO[192.168.10.2_cpu]: Idle
PageTop[192.168.10.2_cpu]: <h1>CPU 사용량</h1>
 <TABLE>
    <TR><TD>호스트명:</TD>     <TD>SYSDOCU</TD></TR>

    <TR><TD>IP:</TD> <TD>192.168.10.2</TD></TR>
 </TABLE>

 

Target[192.168.10.2_load]: laLoad.1&laLoad.2:g_snmp@192.168.10.2 * 100
Options[192.168.10.2_load]: gauge,integer,nopercent,growright
WithPeak[192.168.10.2_load]: dev1
MaxBytes[192.168.10.2_load]: 10000
Title[192.168.10.2_load]: dev1 - Load Average
YLegend[192.168.10.2_load]: Load Average
ShortLegend[192.168.10.2_load]:
Legend1[192.168.10.2_load]: Load average for 1 Min
Legend2[192.168.10.2_load]: Load average for 5 Min
Legend3[192.168.10.2_load]: Max load average for 1 Min
Legend4[192.168.10.2_load]: Max Load average for 5 Min
LegendI[192.168.10.2_load]: 1min:
LegendO[192.168.10.2_load]: 5min:
YTicsFactor[192.168.10.2_load]: 0.01
PageTop[192.168.10.2_load]: <h1>CPU 부하율</h1>
 <TABLE>
    <TR><TD>호스트명:</TD>     <TD>SYSDOCU</TD></TR>

    <TR><TD>IP</TD> <TD>192.168.10.2</TD></TR>
 </TABLE>

 

Target[192.168.10.2_mem]: (memTotalReal.0&memTotalSwap.0:g_snmp@192.168.10.2 - memBuffer.0&memAvailSwap.0:g_snmp@192.168.10.2 - memCached.0&memIndex.0:g_snmp@192.168.10.2 - memAvailReal.0&memIndex.0:g_snmp@192.168.10.2) / memTotalReal.0&memTotalSwap.0:g_snmp@192.168.10.2 * 100
Options[192.168.10.2_mem]: nopercent,growright,gauge,noinfo
Title[192.168.10.2_mem]: Free Memory
MaxBytes[192.168.10.2_mem]: 100
kilo[192.168.10.2_mem]: 1024
YLegend[192.168.10.2_mem]: bytes
ShortLegend[192.168.10.2_mem]: %
Unscaled[192.168.10.2_mem] : ymwd
LegendI[192.168.10.2_mem]: Real Memory:
LegendO[192.168.10.2_mem]: Swap Memory:
Legend1[192.168.10.2_mem]: Free memory, not including swap, in bytes
PageTop[192.168.10.2_mem]: <h1>Memory 사용량</h1>
 <TABLE>
    <TR><TD>호스트명:</TD>     <TD>SYSDOCU</TD></TR>

    <TR><TD>IP</TD> <TD>192.168.10.2</TD></TR>
 </TABLE>

 

Target[192.168.10.2_hdd1]: dskPercent.1&dskPercent.2:g_snmp@192.168.10.2

Title[192.168.10.2_hdd1]: Disk Partition Usage
MaxBytes[192.168.10.2_hdd1]: 100
ShortLegend[192.168.10.2_hdd1]: %
YLegend[192.168.10.2_hdd1]: Disk usage
LegendI[192.168.10.2_hdd1]: /
LegendO[192.168.10.2_hdd1]: /backup
Options[192.168.10.2_hdd1]: gauge,growright,nopercent
Unscaled[192.168.10.2_hdd1]: ymwd
PageTop[192.168.10.2_hdd1]: <H1>디스크 사용량</H1>
 <TABLE>
    <TR><TD>호스트명:</TD>     <TD>SYSDOCU</TD></TR>
    <TR><TD>IP:</TD> <TD></TD></TR>
    <TR><TD>/</TD><TD> </TD></TR>
    <TR><TD>/backup</TD><TD> </TD></TR>
 </TABLE>

 

 

4. index 페이지 만들기

indexmaker --title "SYSDOCU MRTG" --output /home/mrtg/public_html/index.html /home/mrtg/conf/mrtg.cfg

 

 

5. 스케쥴러 등록

아래 명령을 통해 mrtg 데이타를 생성합니다.

처음 명령을 내릴경우 경고메세지가 뜨지만, 이는 처음이라 데이타 파일이 없다는 뜻입니다.

몇번 더 실행하면 나타나지 않는것을 볼수 있습니다.

/usr/bin/mrtg /home/mrtg/conf/mrtg.cfg

 

지속적으로 5분마다 데이타 갱신이 되도록 crontab 에 등록합니다.

crontab -e

mailto=""
*/5 * * * * /usr/bin/mrtg /home/mrtg/conf/mrtg.cfg --logging /var/log/mrtg.log

 

반응형

댓글()

리눅스에서 2TB 보다 큰 사이즈의 파티션 생성

리눅스/OS 일반|2014. 12. 31. 00:17
반응형

# parted /dev/sdb


(parted) mklabel gpt


Warning: The existing disk label on /dev/sde will be destroyed and all data on this disk will be lost. Do you want to continue?

Yes/No? yes


(parted) mkpart primary 0 100%    // 0 100GB 이런식의 설정도 가능합니다. print 로 최대용량 확인.


Warning: The resulting partition is not properly aligned for best performance.

Ignore/Cancel? ignore


(parted) print    // 확인

Model: ATA WDC WD60EFRX-68L (scsi)

Disk /dev/sdb: 6001GB

Sector size (logical/physical): 512B/4096B

Partition Table: gpt


Number  Start   End     Size    File system  Name     Flags

 1      17.4kB  6001GB  6001GB               primary


(parted) quit    // 나가기



# fdisk -l

Disk /dev/sdb: 3700.5 GB, 3700551582208 bytes

255 heads, 63 sectors/track, 449899 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1      267350  2147483647+  ee  EFI GPT



# mkfs -t ext4 /dev/sdb1    // ext4 형식으로 포맷


# mkdir /data


# mount /dev/sdb1 /data


# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda1       217G  5.6G  200G   3% /

none            4.0K     0  4.0K   0% /sys/fs/cgroup

udev            1.9G  4.0K  1.9G   1% /dev

tmpfs           389M  1.3M  388M   1% /run

none            5.0M     0  5.0M   0% /run/lock

none            1.9G  144K  1.9G   1% /run/shm

none            100M   48K  100M   1% /run/user

/dev/sdb1       5.5T   58M  5.2T   1% /video1




리부팅시 자동으로 마운트 하기 위하여 /etc/fstab 파일을 수정합니다.



반응형

댓글()

free -m 에서 free (남는 메모리 양) 최소량 제한하기

리눅스/OS 일반|2014. 12. 31. 00:16
반응형

free -m 했을때 free 값이 (남는 메모리) 적게 나오는 경우

일정 값 이하로 떨어지지 않게 하는 방법이 있습니다.

 

이는 서버 입출력을 지속하다보면 free 메모리가 cached 로 자동이동이 되게 되는데

이를 방지하기 위한 방법입니다.

 

예) [root@neulwon ~]# echo "1024000" > /proc/sys/vm/min_free_kbytes

 

 free 값이 늘며, cached 값이 줄어든것이 확인됩니다.


반응형

댓글()

리눅스 쉘 프롬프트 변경

리눅스/OS 일반|2014. 12. 31. 00:16
반응형

bash-3.1#

 

쉘프롬프트가 위와같은 모양일 경우

아래 파일을 열어서 수정해줍니다.

 

vi /root/.bashrc

 

export PS1="[u@h W]\#"

 

저장 후 다음과 같이 적용합니다. 

# source /root/.bashrc

반응형

댓글()

grep 검색으로 '또는' (or) 기능 사용하기

리눅스/OS 일반|2014. 12. 31. 00:15
반응형

aaa.txt 파일 내의 문자열 abc 또는 eee 검색하기

 

aaa.txt 파일 내용

abc

def

aaa

bbb

eee

 

cat aaa.txt |grep -E 'abc|eee'

또는

cat aaa.txt |egrep 'abc|eee'

반응형

댓글()

[RAID] LSI SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] 모니터링 툴 설치

리눅스/OS 일반|2014. 12. 31. 00:15
반응형

1. 다운로드 및 설치

본 매뉴얼을 작성할때 사용한 서버의 OS는 CentOS 6.2 (64bit) 이므로 아래의 링크로 다운받았습니다.

다른 OS종류나 버전을 사용하시는 분은 URL을 적당히 수정하여 다운로드 받으세요.

 

sas2ircu 다운로드

cd /usr/local/src
wget http://download1.obs.j0ke.net/hardware:/raid/CentOS_6/x86_64/sas2ircu-5.00.00-1.1.x86_64.rpm

rpm -ivh sas2ircu-5.00.00-1.1.x86_64.rpm

 

 

2. 사용 방법
sas2ircu list                  // RAID 구성된 INDEX 번호 보기

 

LSI Corporation SAS2 IR Configuration Utility.
Version 5.00.00.00 (2010.02.09)
Copyright (c) 2009 LSI Corporation. All rights reserved.


         Adapter      Vendor  Device                       SubSys  SubSys
 Index    Type          ID      ID    Pci Address          Ven ID  Dev ID
 -----  ------------  ------  ------  -----------------    ------  ------
   0     SAS2008     1000h    72h   00h:02h:00h:00h      1000h   0072h
SAS2IRCU: Utility Completed Successfully.

 

 

sas2ircu 0 display        // INDEX 0번 으로 구성된 RAID level 및 모든 디스크 상태보기

 

LSI Corporation SAS2 IR Configuration Utility.
Version 5.00.00.00 (2010.02.09)
Copyright (c) 2009 LSI Corporation. All rights reserved.

 

Read configuration has been initiated for controller 0
------------------------------------------------------------------------
Controller information
------------------------------------------------------------------------
  Controller type                         : SAS2008
  BIOS version                            : 7.03.00.00
  Firmware version                        : 5.00.00.00
  Channel description                     : 1 Serial Attached SCSI
  Initiator ID                            : 0
  Maximum physical devices                : 125
  Concurrent commands supported           : 2607
  Slot                                    : 27
  Segment                                 : 0
  Bus                                     : 2
  Device                                  : 0
  Function                                : 0
  RAID Support                            : Yes
------------------------------------------------------------------------
IR Volume information
------------------------------------------------------------------------
IR volume 1
  Volume ID                               : 172
  Status of volume                        : Okay (OKY)
  RAID level                              : RAID10
  Size (in MB)                            : 225064
  Physical hard disks                     :
  PHY[0] Enclosure#/Slot#                 : 1:0
  PHY[1] Enclosure#/Slot#                 : 1:1
  PHY[2] Enclosure#/Slot#                 : 1:2
  PHY[3] Enclosure#/Slot#                 : 1:3
  PHY[4] Enclosure#/Slot#                 : 1:5
  PHY[5] Enclosure#/Slot#                 : 1:4
  PHY[6] Enclosure#/Slot#                 : 1:6
  PHY[7] Enclosure#/Slot#                 : 1:7
------------------------------------------------------------------------
Physical device information
------------------------------------------------------------------------
Initiator at ID #0

 

Device is a Hard disk
  Enclosure #                             : 1
  Slot #                                  : 0
  State                                   : Optimal (OPT)
  Size (in MB)/(in sectors)               : 57241/117231407
  Manufacturer                            : ATA
  Model Number                            : INTEL SSDSC2CW06
  Firmware Revision                       : 400i
  Serial No                               : CVCV153505L2060AGN
  Protocol                                : SATA
  Drive Type                              : SATA_SSD

 

Device is a Hard disk
  Enclosure #                             : 1
  Slot #                                  : 1
  State                                   : Optimal (OPT)
  Size (in MB)/(in sectors)               : 57241/117231407
  Manufacturer                            : ATA
  Model Number                            : INTEL SSDSC2CW06
  Firmware Revision                       : 400i
  Serial No                               : CVCV20300AS8060AGN
  Protocol                                : SATA
  Drive Type                              : SATA_SSD

 

Device is a Hard disk
  Enclosure #                             : 1
  Slot #                                  : 2
  State                                   : Optimal (OPT)
  Size (in MB)/(in sectors)               : 57241/117231407
  Manufacturer                            : ATA
  Model Number                            : INTEL SSDSC2CW06
  Firmware Revision                       : 400i
  Serial No                               : CVCV203007RB060AGN
  Protocol                                : SATA
  Drive Type                              : SATA_SSD

 

Device is a Hard disk
  Enclosure #                             : 1
  Slot #                                  : 3
  State                                   : Optimal (OPT)
  Size (in MB)/(in sectors)               : 57241/117231407
  Manufacturer                            : ATA
  Model Number                            : INTEL SSDSC2CW06
  Firmware Revision                       : 400i
  Serial No                               : CVCV15350377060AGN
  Protocol                                : SATA
  Drive Type                              : SATA_SSD

 

Device is a Hard disk
  Enclosure #                             : 1
  Slot #                                  : 4
  State                                   : Optimal (OPT)
  Size (in MB)/(in sectors)               : 57241/117231407
  Manufacturer                            : ATA
  Model Number                            : INTEL SSDSC2CW06
  Firmware Revision                       : 400i
  Serial No                               : CVCV1533019D060AGN
  Protocol                                : SATA
  Drive Type                              : SATA_SSD

 

Device is a Hard disk
  Enclosure #                             : 1
  Slot #                                  : 5
  State                                   : Optimal (OPT)
  Size (in MB)/(in sectors)               : 57241/117231407
  Manufacturer                            : ATA
  Model Number                            : INTEL SSDSC2CW06
  Firmware Revision                       : 400i
  Serial No                               : CVCV153201C4060AGN
  Protocol                                : SATA
  Drive Type                              : SATA_SSD

 

Device is a Hard disk
  Enclosure #                             : 1
  Slot #                                  : 6
  State                                   : Optimal (OPT)
  Size (in MB)/(in sectors)               : 57241/117231407
  Manufacturer                            : ATA
  Model Number                            : INTEL SSDSC2CW06
  Firmware Revision                       : 400i
  Serial No                               : CVCV153505DQ060AGN
  Protocol                                : SATA
  Drive Type                              : SATA_SSD

 

Device is a Hard disk
  Enclosure #                             : 1
  Slot #                                  : 7
  State                                   : Optimal (OPT)
  Size (in MB)/(in sectors)               : 57241/117231407
  Manufacturer                            : ATA
  Model Number                            : INTEL SSDSC2CW06
  Firmware Revision                       : 400i
  Serial No                               : CVCV203101HH060AGN
  Protocol                                : SATA
  Drive Type                              : SATA_SSD
------------------------------------------------------------------------
Enclosure information
------------------------------------------------------------------------
  Enclosure#                              : 1
  Logical ID                              : 500e0810:0004eae4
  Numslots                                : 8
  StartSlot                               : 0
------------------------------------------------------------------------
SAS2IRCU: Command DISPLAY Completed Successfully.
SAS2IRCU: Utility Completed Successfully.

 

 

3. 일일 체크 스크립트
아래 내용으로 스크립트 파일을 만들고 crontab 에 등록하여

30분 단위로 HDD 상태를 체크하도록 합니다.

> HDD 상태가 '최상'이 아닐 경우 메일 발송

 

crontab -e

mailto=""

00,30 * * * * sh /root/RAID_monitoring.sh

 

vi /root/hdd_list.txt

1

2

3

4

5

6

7                                                                   

 

vi /root/RAID_monitoring.sh

#!/bin/sh

 

check=`sas2ircu 0 display |grep State |grep -v Optimal |grep -v Rebuilding |wc -l`

 

if [ "$check" == "0" ]; then
echo "no problem"
else

  

    # 1~7 번 디스크중 에러난 디스크 체크
    check_hdd=`sas2ircu 0 display |grep 'Slot #' |awk '{print $4}'`
    echo "$check_hdd" > check_hdd.txt

    while read hdd_no trash
        do
    count=`cat check_hdd.txt |grep $hdd_no |wc -l`
    if [ "$count" == "1" ]; then
    echo ""
    else
    echo "$hdd_no" >> error_hdd_no.txt
    fi
        done < hdd_list.txt
 

    # 0 번 디스크 오류 여부 체크
     check0=`cat error_hdd_no.txt |wc -l`
    if [ "$check" == "$check0" ]; then
    echo ""
    else
    echo "0" >> error_hdd_no.txt
    fi

 

   # error_hdd_no.txt 에 입력된 값을 메일로 발송
    Email="admin@sysdocu.tistory.com"

    IP=`ifconfig |grep 'inet addr:' |awk '{print $2}' |sed 's/addr://g' |head -n 1`
    mail_subject="[중요] SYSDOCU ($IP) 서버의 HDD 상태를 체크해주세요."
    result=`cat error_hdd_no.txt`
    echo "SYSDOCU ($IP) 서버의 $result 번 디스크(들)에 오류가 생겼습니다." | mail -s "$mail_subject" $Email

 

fi

 

# 정리
rm -f check_hdd.txt error_hdd_no.txt

 

exit 0

 

반응형

댓글()