3. OS이야기/03. Shell Script 22

[UNIX/LINUX] 1분 단위 netstat 상태값 로깅 스크립트

#!/bin/bash outDir=/home/NETSTAT if [ ! -d ${outDir} ]; then // outDir 변수로 지정한 디렉토리가 존재하지 않을 경우, 디렉토리를 생성한다.mkdir -p ${outDir}fi idx=1 outFile=${outDir}/netstat_`hostname`_`date +%y%m%d`.log if [ ! -f ${outFile} ]; then // outFile 변수로 지정한 파일이 존재하지 않을 경우, 컬럼명을 탭 간격을 주고 outFile 에 프린팅한다.printf "CLOSED\\tCLOSING\\tCLOSE_WAIT\\tESTABLISHED\\tFIN_WAIT1\\tFIN_WAIT2\\tLAST_ACK\\tLISTEN\\tSYN_SENT\\tSYN_..

시스템에서 사용중인 PCI Slot 할당 내역 조회 스크립트

시스템에 할당되어 있는 PCI Slot의 사용내역을 확인하는 스크립트 입니다. SLot별로 어떤 Device가 연결되어 있는지 직관적으로 파악이 가능합니다. 1. 스크립트 (slot.sh) ----------------------------------------------------------------- #!/bin/sh cnt=1 NET_DIR="/sys/class/net" DISK_DIR="/sys/class/scsi_disk" TAPE_DIR="/sys/class/scsi_tape" clear echo "#######################################" echo -n "HOSTNAME :" hostname dmidecode | grep "Product Name" echo "..

[UNIX/LINUX] File Size 체크 스크립트

이전 글에 이어 특정 파일시스템에서 어떤 파일들이 용량을 많이 차지하고 있는지 확인하는 스크립트에 대해 글 올립니다.먼저 스크립트 전문은 다음과 같습니다.#!/bin/bash SEARCH_PATH=${1} // 특정 용량 이상을 차지하는 file 들을 확인할 디렉토리명MB_SIZE=${2} // 어느 정도 용량 이상의 file 들을 확인할 것인지 MB 단위로 지정 cd ${SEARCH_PATH} ### Check File Size more than ${MB_SIZE} MBfile_list=`find . -size +${MB_SIZE}M -type f -print` // ${MB_SIZE} MB 이상의 type 이 file인 것들을 ${SEARCH_PATH} 에서 find 하여 파일명만 file_list ..

linux 전체 파일시스템 용량 및 사용량 확인 스크립트

linux에서 시스템 전체 파일시스템의 용량 및 사용량 확인 스크립트 ------------------------------------------------------------------------------------------------------ #!/bin/sh df -k | awk 'BEGIN { Total_Size=0; Total_Used=0; Total_Avail=0 } { Total_Size += $2; Total_Used += $3 ; Total_Avail += $4 } END { printf("Total Size : %5.1f GB, Total Used : %5.1f GB, Total_Avail : %5.1f GB, Used % : %5.1f %\n", Total_Size/1024/1..

[UNIX/LINUX] 파일시스템 사용량 체크 스크립트

파일시스템 사용량 체크를 간편하게 하기 위한 스크립트에 대해 글 올립니다.Linux 에서 파일시스템 사용량을 점검하는 것이 매우 중요하다는 것은 다 알고 계실 겁니다.점검해야 할 서버 대수가 적고 별다른 할 일이 없을 만큼 한가하다면 일일이 육안으로 점검해도 되겠지만, 점검해야 할 대상 서버와 파일시스템이 많다면 일일이 점검하다가 눈이 골뱅이가 될 것입니다.(@.@)이럴 때 편하게 점검할 수 있는 스크립트입니다.#!/bin/bashthreshold=${1} // 스크립트 실행 시의 input parameter를 threshold 변수에 저장fs_use_lists=`df -Ph | grep -v Filesystem | awk '{print $6,$5}'` // df 명령을 통해 파일시스템명과 사용률(Use..

History에 날짜 넣기 !!!

Linux 사용하시다가 history 명령어 많이 사용 하시죠? 그런데, 불편한게 날짜가 없어서 보기가 참 애매 했었는데요. history에 날짜를 넣는 방법이 있어 알려 드립니다. 1. bash 쉘 사용자 2. /etc/bashrc 파일 확인 3. /etc/bashrc 파일 마지막 라인에 아래 사항 추가 추가) export HISTIMEFORMAT="[%Y-%m-%d %H:%M:%S]" 4. 다움 세션 로그인 부터 적용됨 예) [2014-05-23 11:25:34] ls -rlt [2014-05-23 11:25:46] df -k [2014-05-23 11:25:58] ps -ef 참고로 날짜 포맷을 다양하게 원하는 스타일로 셋팅 하시면 됩니다. posted by 허시영

sftp 스크립트 사용하기

SSH(Secrure SHell) 의 패스워드 입력없이 사용 하기 1. 로컬 서버에서 아래 실행 해서 public key 생성 $ ssh-keygen -t dsa 위명령어 실행하면, 계정 홈디렉토리의 .ssh 디렉토리가 생기고, id_dsa.pub 생성됨. 2. 접속할(target) 리모트 서버에서, sftp 로 로그인할 계정의 홈디렉토리 생성 $ mkdir ~/.ssh .ssh 의 디렉토리 권한은(660) 이어야 함. 3. 로컬서버에서 아래 실행 $ scp ~/.ssh/id_dsa.pub user@SERVER:.ssh/authorized_keys 위명령어 실행시 최초에는 패스워드를 입력하고, 그후에는 패스워드 없이 사용가능 리모트 서버에서 ~/.ssh 에 authorized_keys 파일 생성 확인 4..

[UNIX/LINUX] 자동화를 위한 interactive 스크립트 - expect (2) 예제

이번 글에서는 expect 스크립트에 대한 예제를 통해 이해를 돕는 시간을 갖도록 하겠습니다. (2) 예제 #!/bin/expect set target "[lindex $argv 0]" set rootid "[lindex $argv 1]" set oldpwd "[lindex $argv 2]" set newpwd "[lindex $argv 3]" spawn telnet $target expect -timeout 5 "*ogin:" send "$rootid\n" expect -timeout 5 "*assword:" send "$oldpwd\n" sleep 2 expect -timeout 5 "#|>" send "passwd\n" expect -timeout 5 "New password:" send "$new..

[UNIX/LINUX] 자동화를 위한 interactive 스크립트 - expect (1) 기본 사용법

이번 글에서는 자동화를 위해 유용하게 사용할 수 있는 expect 란 스크립트에 대해서 말씀 드리도록 하겠습니다. expect 는 telnet이나 ftp와 같이 interactive한 환경이 필요한 곳에서 특정 문자열을 기다리고(expect), 정해진 문자열을 자동으로 보내는(send) 등의 처리를 하는 스크립트 언어입니다. 가령, A라는 서버에서 B라는 서버의 패스워드를 바꾸려 한다고 하면, telnet을 이용하여 B서버로 로그인하고 password 명령을 이용해 기존 패스워드와 새로운 패스워드를 차례로 입력하는 일련의 과정들을 거치게 됩니다. 하지만, 이 expect 를 이용하면 그런 절차들을 일일이 거칠 필요 없이 스크립트 하나만 돌림으로써 문제를 해결할 수 있습니다. expect 스크립트를 사용하..