반응형

1. 시스템 서비스 적용 여부

/etc/inetd.conf

#shell   stream  tcp6    nowait  root    /usr/sbin/rshd         rshd
#login   stream  tcp6    nowait  root    /usr/sbin/rlogind      rlogind

다시실행 1(비추)
 ps -ef | grep inetd

나온 PID 값을

kill -9 <PID>

다시 실행

다시실행(환경파일 다시 읽어오기 inetd에 관해)
 refresh -s inetd

동작 여부(#은 주석처리됨...)

2. root 계정에서 .rhosts 여부
+ (아무나)

3. /etc/hosts
연결될 IP 정보 존재여부


반응형
반응형


유저 : root
파일 : /etc/inittab
시스템 : aix 5.3

주의사항 : respawn 옵션이 있기전에 넣어야 정상적으로 작동
 # USER SHELL #
myroute:2:once:/usr/local/bin/sys_route.sh > /dev/console 2>&1
mydbstart:2:wait:/usr/local/bin/dbstart > /dev/console  2>&1
myjeusstart:2:once:/usr/local/bin/jeusstart > /dev/console 2>&1
mymegatier:2:once:/usr/local/bin/megatierstart > /dev/console 2>&1
#############

myroute 는 라우팅 설정을 하는 파일
mydbstart 는 oracle 을 시작하고 리스너 까지 실행
myjeusstart는 제우스 시작을 함
mymegatier 연계 솔루션을 시작함.

단 mydbstart는 wait를 걸어 실행하고 쉘이 끝날 때까지 기다림.

모든 .sh 쉘 파일은 실행가능한 옵션으로 설정함 (chmod +x 파일명.sh)

su - 사용자계정 -c (실행명령)

파일 : /usr/local/bin/sys_route.sh
 # 시스템 라우팅 세팅 쉘
# 기본 라우팅 설정 세팅
 /usr/sbin/route add 0.0.0.0 -netmask 0.0.0.0 192.168.0.1 -if en2

파일 : /usr/local/bin/dbstart
 su - oracle -c /oracle/product/102/VMS/bin/dbstart

파일 :  /oracle/product/102/VMS/bin/dbstart

#!/usr/bin/sh
# ORACLE START
/oracle/product/102/VMS/bin/sqlplus '/as sysdba' <<-EOF
startup
exit 0

EOF

# LISTENER START
/oracle/product/102/VMS/bin/lsnrctl start


파일 : /usr/local/bin/jeusstart
su - emdnet -c /home/jeus5/bin/jboot


위와 같이 설정하면 정상적으로 작동함...

단.....

AIX에서 inittab 파일에서 default init 설정을 확인하면 대부분이 level 2이므로

/etc/rc.d/rc2.d/ 밑에 S01파일명 형태의 link를 걸어도 무방하다~
반응형
반응형

유닉스도 여러종류가 있는데 어떤 유닉스인가요? hp,sun,ibm...등등..

.profile에 넣어서는 오라클이 자동실행이 되질 않습니다....

sun unix기준으로 자동으로 오라클이 올라오게 하려면...


sun solaris 부팅 시 oracle DB를 auto startup하도록 하는 데 관련된 화일들이다.

/etc/inittab : o/s의 초기화 과정을 조절하는 화일
/etc/rc2 : 부팅 run-level 2 에서 사용되는 스크립트
/etc/rc0 : 부팅 run-level 0 에서 사용되는 스크립트
/etc/rc2.d/S99dbstart : /etc/init.d/dbstart 에 대한 symbolic link
/etc/rc0.d/K01dbshut : /etc/init.d/dbshut 에 대한 symbolic link
/var/opt/oracle/oratab : 시스템에 설치된 오라클 인스턴스에 대한 정보.

(참고)
/etc/init.d/dbstart, dbshut 화일은 super user(root)로 생성하시고,
symbolic link도 super user로 만드시기 바랍니다.
이 화일들은 super user가 owner가 되도록 하고, super user(root)만이
실행 가능하도록 해야 합니다.


1. 먼저 vi /etc/inittab 화일을 열어보십시오.

ap::sysinit:/sbin/autopush -f /etc/iu.ap
fs::sysinit:/sbin/rcS >/dev/console 2>&1 is:3:initdefault:
p3:s1234:powerfail:/usr/sbin/shutdown -y -i5 -g0 >/dev/console 2>&1
s0:0:wait:/sbin/rc0 >/dev/console 2>&1 s1:1:wait:/usr/sbin/shutdown -y -iS -g0 >/dev/console 2>&1 s2:23:wait:/sbin/rc2 >/dev/console 2>&1 s3:3:wait:/sbin/rc3 >/dev/console 2>&1 s5:5:wait:/sbin/rc5 >/dev/console 2>&1 s6:6:wait:/sbin/rc6 >/dev/console 2>&1 fw:0:wait:/sbin/uadmin 2 0 >/dev/console 2>&1 of:5:wait:/sbin/uadmin 2 6 >/dev/console 2>&1 rb:6:wait:/sbin/uadmin 2 1 >/dev/console 2>&1 sc:234:respawn:/usr/lib/saf/sac -t 300
co:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` console login: " -T
sun
-d /dev/console -l console -m ldterm,ttcompat

s1부터 s6까지 os file들에 대해 위와 같이 device redirection이 연결되어
있으면 됩니다.

------------------------------------------------------------------------
s2:23:wait:/sbin/rc2 >/dev/console 2>&1
위와 같이 설정하면 run-level 2일 경우 /sbin/rc2 스크립트가 실행된다.
/sbin/rc2 는 /etc/rc2.d 디렉토리에 들어있는 스크립트를 실행한다.
만약 스크립트가 S 로 시작하면 /sbin/rc2 는 이 스크립트에 startup 파라미
터를 부여하고 여기서 지정된 프로세스를 실행시킨다.
따라서 /etc/rc2.d/S99dbstart 화일을 사용하여 dbstart를 실행한다.

shutdown 과정도 거의 비슷하다. /etc/inittab 에 다음과 같은 라인을 보자.

s0:0:wait:/sbin/rc0 >/dev/console 2>&1
이것은 /sbin/rc0 를 실행시키는데 /sbin/rc0 는 /etc/rc0.d 디렉토리에
들어있는 스크립트를 실행시킨다.
스크립트 이름이 K 로 시작하면 이것은 stop 파라미터를 갖고 실행되어서 이
스크립트에 지정된 프로세스를 정지시킨다.
따라서 /etc/rc0.d/K01dbshut 스크립트는 stop 파라미터를 갖고 실행되며
이 스크립트는 $ORACLE_HOME/bin/dbshut 스크립트를 실행시켜서 오라클을
shutdown 시킨다.
------------------------------------------------------------------------


2. 그 다음에 vi /etc/rc2 화일을 한번 열어보세요.

이 스크립트 화일은 run-level 2에서 사용되는 스크립트입니다.
특별히 수정할 내용은 없으나, 이 화일이 존재하는지 확인해 보십시오.

PATH=/usr/sbin:/usr/bin
set `/usr/bin/who -r`
if [ x$9 = "xS" -o x$9 = "x1" ]
then
echo 'The system is coming up. Please wait.'
BOOT=yes
...


3. 그 다음에 vi /etc/rc0 화일을 한번 열어보세요.

이 스크립트 화일은 run-level 0에서 사용되는 스크립트입니다.
특별히 수정할 내용은 없으나, 이 화일이 존재하는지 확인해 보십시오.

PATH=/usr/sbin:/usr/bin

echo 'The system is coming down. Please wait.'

# make sure /usr is mounted before proceeding since init scripts
# and this shell depend on things on /usr file system
/sbin/mount /usr > /dev/null 2>&1

# The following segment is for historical purposes.
# There should be nothing in /etc/shutdown.d.
if [ -d /etc/shutdown.d ]
then
for f in /etc/shutdown.d/*
{
if [ -s $f ]
then
/sbin/sh ${f}
fi
}
fi
...


4. /etc/init.d/dbstart 와 /etc/init.d/dbshut 스크립트를 만들어야 합니다.
그 내용은 각각 다음과 같이 한 줄로 작성합니다.

/etc/init.d/dbstart 화일은 다음과 같이 만듭니다.
su - -c <$ORACLE_HOME>/bin/dbstart
/etc/init.d/dbshut 화일은 다음과 같이 만듭니다.
su - -c <$ORACLE_HOME>/bin/dbshut



5. /etc/rc2.d/S99dbstart 화일을 /etc/init.d/dbstart에 대한 link로 생성합니다.

ln -s /etc/init.d/dbstart /etc/rc2.d/S99dbstart


6. /etc/rc0.d/K01dbshut 화일을 /etc/init.d/dbshut에 대한 link로 생성합니다.

ln -s /etc/init.d/dbshut /etc/rc0.d/K01dbshut


7. /var/opt/oracle/oratab 화일을 엽니다.

oratab 화일은 일반 텍스트 화일로서 시스템에 설치된 오라클 인스턴스에 대한
정보를 가지고 있는데 보통 3개의 필드로 이루어져 있으며,
첫번재 필드는 ORACLE_SID, 두번째 필드는 ORACLE_HOME, 세번째 필드는 Y 또는
N으로 구성되어 있습니다. 해당 인스턴스를 auto startup 시키려면 세번째
필드가 반드시 Y로 세팅되어 있어야 합니다.

아래에 예를 참조하세요.

ORA805:/oracle4/ora8/app/oracle/product/8.0.5:Y
ORA815:/oracle4/ora8i/app/oracle/product/8.1.5:Y

(주)
만약, <$ORACLE_HOME>/bin/dbstart 수행에 오류가 있으면 기존의 dbstart 화
일을 다른 path에 rename하고, 아래 내용만 가지고 <$ORACLE_HOME>/bin/ 아래
에 dbstart 화일을 다음과 같이 만든다.

svrmgrl connect internal
startup
exit
EOF


Example
-------
none


Reference doc-uments
-------------------
none



블루틴참조


반응형
반응형
리눅스
마지막에 wc -l을 하지 않으면 개수가 아닌 실제 리스트가 출력 된다.

#> cat /proc/cpuinfo|grep processor|wc -l

솔라리스
#> psrinfo -v|grep "Status of processor"|wc -l

IBM-AIX
#> lsdev -C| grep Process | wc -l

HP/UX
ioscan -C processor | grep processor | wc -l
반응형
반응형

# CENTOS

tar cvfP 생성파일명.tar 묶일파일1 묶일파일2 ... 묶일파일n

위와 같이 대문자 P 옵션 주면 절대경로로 묶인다.

# AIX
tar cvf 생성파일명.tar 묶일파일1 묶일파일2 .. 묶일파일n

cvf 만 줘도 된다.

tip
리눅스 상에서 xargs 옵션으로 tar 리스트를 들을 계속 묶을 때
tar로 묶인 파일은 한개도 없지만, tar 파일이 생성되는 경우가 있다.

이럴때는

# tar파일이 null 일경우 삭제
get_line=`tar tvf release.tar | wc -l`

tvf 파일은 tar로 묶인 파일들의 목록을 조회하는 명령이다.

| -> 파이프 라인으로서 왼쪽의 출력결과를 우측의 입력으로 사용한다.

wc -l : 몇줄이 존재하는지 조회

결국 get_line은 0값을 갖는다.

if [ $get_line -eq "0" ]; then
           echo "생성된 파일의 내역이 존재하지 않습니다."
rm -rf release.tar
fi

와 같은 형태로 작성이 가능하다.
반응형
반응형

* 설치 내용
  - 서버 : IBM X3250
  - OS  : Centos 5.3  64 bit
  - DB :  Oracle 10.2.1.0 64bit

* 오류 화면 목록
   - Error in invoking target 'install' of makefile '/u01/app/oracle/product/10.2.0/db_1/ctx/lib/ins_ctx.mk'


원인 : glibc-devel 때문에 발생하나... 여러번에 재설치 => yum reinstall glibc-devel

해결방법 : 64비트라도 devel을 32 bit를 이용한다. 때문에 => yum install glibc-devel.i386 실행

어찌보면 굉장히 쉬운 에러였음....

64비트의 차이점은 위의 devel부분만 추가로 설치하면 됨(물론 32bit 설치할때와 마찬가지로 필요 rpm들은 반드시 설치해야함.)

반응형
반응형


month=`date +%m`
year=`date +%Y`

real_month=`expr $month + 2`

if [ $real_month -gt 9 ]
then
        if [ $real_month -gt 12 ]
        then
                # 년도 증가
                year=`expr ${year} + 1`

                # 월에서 -12
                real_month=`expr ${real_month} - 12`

                real_month=${year}0${real_month}
        else
                real_month=${year}${real_month}

        fi;
else
        real_month=${year}0${real_month}
fi;

echo $real_month


 

반응형
반응형

 cut 이랑 uniq 사용법

예) 현재 접속된 ip만 확인(포트번호 제외)하여 중복된 것을 제거한 갯수

# netstat-an | grep ESTABLISHED | awk '{print ($2)}' |cut -f "1 2 3 4" -d .| sort | uniq -c

 

 

- date 관련

1. date 0없애기

# date '+%h %-d'
Aug 04
# date '+%h %0d'
Aug 4

 

2. date 전달 구하기

# TZ=KST+700 date +'%m'

 

3. data 전일 구하기

# TZ=KST+15 date +'%d'

 

 

- du 관련

1. 현재 디렉토리 내의 모든 파일의 용량을 보여줌

# du -sk * (du -sm * 및 du -sg * 가능)

 

2. 같은 파일시스템 내의 디렉토리 사이즈만 보여줌

# du -x

 

 

 

- awk 사용예제

# df -m | awk '{print$7}'

# df -m | awk '{print$1,$7}'

# lsvg -l rootvg | awk '{print"lslv -l "$1}' | sh

# df | awk '{print"lsfs "$7}'|sh

# lsdev -Cc adapter | grep ent | awk '{print"lsattr -El "$1}' | sh

# ps -ef | grep nmon |awk '{print"kill -9 "$2}' |sh 

# ls -l /etc/*.conf| awk '{print "grep pmtu " $9}' | sh

 

(디렉토리의 사용량 보기)
# ls -l|grep ^d | awk '{print"du -sk "$9}' | sh

 

(파일시스템 90% 이상 찾기)
# df -Pk|awk 'int($2) != 0'|grep -v Mounted|grep -v 가능|awk 'int($3*100/$2) > 89 {print $5, $6}'


(메모리 사용량 보기)
# vmstat 1 3 |tail -1 |awk '{used=$3*4096/1024/1024}{free=$4*4096/1024/1024}END{printf " used memory : %.0f MB\n free memory : %.0f MB\n",used,free}'


(CPU사용량보기)
# sar 1 2|tail -1|awk '{use=int($2+$3)}END{printf "%.0f\n",use}'


(HP에서 disk용량 보기)
# ioscan -fnC disk|grep rdsk|awk '{print "diskinfo "$2}'|sh|grep size|grep -v '0 Kbytes'|awk '{print int($2/1024/1024)}'

 

 

 

- 일일점검 shell(AIX 기준)

 

export LANG=C
DATE=`date '+%y%m%d'`
MONTH=`date '+%y%m'`
TIME=`date '+%H%M%S'`
HOST=`hostname`

SCRIPT_HOME=/CHECK
TEMP_HOME=$SCRIPT_HOME/TEMP
LOG_HOME=$SCRIPT_HOME/LOG
OUTPUT=$LOG_HOME/systemcheck_$HOST'_'$DATE.out
NET_INFO=$SCRIPT_HOME/TEMP/ifconfig.info
NET_TEMP=$SCRIPT_HOME/TEMP/ifconfig.count

 

####### MEMORY CHECK ########
MEMINUSE=`svmon -G  | grep "in use" | awk '{print ($3)}'`
MEMTOTAL=`svmon -G  | grep "memory" | awk '{print ($3/$2)*100}'`
MEMCOMP=`svmon -G  | grep "memory" | awk '{print ('$MEMINUSE'/$2*100)}'`
MEMNONCOMP=`echo "scale=3; $MEMTOTAL - $MEMCOMP"|bc`

 

####### NETWORK CHECK ########
> $NET_INFO < /dev/null
> $NET_TEMP < /dev/null

ifconfig -a | grep en | grep -v tcp | awk '{print $1}' | cut -c 1-3 > $NET_INFO
for NET_EN in $(<$NET_INFO)
  do
       netstat -v $NET_EN | grep Link | grep -iv Up | wc -l >> $NET_TEMP
  done

 

echo "CPU = `sar 1 2|tail -1|awk '{use=int($2+$3)}END{printf "%.0f\n",use}'`" > $OUTPUT
echo "MEM/COMP = $MEMCOMP" >> $OUTPUT
echo "MEM/NONCOMP = $MEMNONCOMP" >> $OUTPUT
echo "MEM/SWAP = `lsps -a | grep hd6 | awk '{ print $5 }'`" >> $OUTPUT
echo "DISK = `df -Pk|awk 'int($2) != 0'|awk 'int($3*100/$2) > 95 {print $5, $6}' | wc -l`" >> $OUTPUT
echo "NETWORK = `cat $NET_TEMP | grep -v 0 | wc -l`" >> $OUTPUT

CHECK=`lssrc -a | grep topsvcs | grep active | wc -l`
if [ $CHECK = 1 ] ; then
        echo "CLUSTER/DEMON = 0" >> $OUTPUT
        echo "CLUSTER/LOG = `cat /tmp/hacmp.out | wc -l`" >> $OUTPUT
else
        echo "CLUSTER/DEMON = 1" >> $OUTPUT
fi

echo "ERRORLOG = `errpt | grep -v ID | grep -v SOFTWARE | wc -l`" >> $OUTPUT

 

 

 

 

- 벤더별 메모리 사용량 체크

[IBM]

export LANG=C

SCRIPT_HOME=/수정하세요


####### MEMORY CHECK ########
MEMINUSE=`svmon -G  | grep "in use" | awk '{print ($3)}'`
MEMTOTAL=`svmon -G  | grep "memory" | awk '{print ($3/$2)*100}'`
MEMCOMP=`svmon -G  | grep "memory" | awk '{print ('$MEMINUSE'/$2*100)}'`
MEMNONCOMP=`echo "scale=3; $MEMTOTAL - $MEMCOMP"|bc`

echo "CPU = `sar 1 2|tail -1|awk '{use=int($2+$3)}END{printf "%.0f\n",use}'`"
echo "MEM/COMP = $MEMCOMP"
echo "MEM/NONCOMP = $MEMNONCOMP"
echo "SWAP = `lsps -a | grep hd6 | awk '{ print $5 }'`"


[HP]

export LANG=C

SCRIPT_HOME=/수정하세요

####### MEMORY CHECK ########
MEMFREE=`vmstat 1 2 | tail -1 | awk '{ printf "%-d\n", $5*4}'`
MEMTOTAL=`echo "phys_mem_pages/D" | adb /stand/vmunix /dev/kmem|tail -1|awk '{ printf "%-d\n", $2*4}'`
MEMUSE=`echo "scale=3; 100-($MEMFREE*100/$MEMTOTAL)"|bc`

echo "CPU = `sar 1 2|tail -1|awk '{use=int($2+$3)}END{printf "%.0f\n",use}'`"
echo "MEM = $MEMUSE"
echo "SWAP = `/usr/sbin/swapinfo -tm|tail -1|awk '{use=int($3*100/$2)}END{printf "%.0f\n",use}'`"

 

[SUN]

export LANG=C
SCRIPT_HOME=/수정하세요

####### MEMORY CHECK ########
MEMTOTAL=`prtconf|grep Mem|awk '{print $3}'`
MEMFREE=`sar -r 1 2|tail -1|awk '{use=int($2*8/1024)}END{printf "%.0f\n",use}'`
MEMUSE=`echo "scale=3; 100-($MEMFREE*100/$MEMTOTAL)"|bc`

echo "CPU = `sar 1 2|tail -1|awk '{use=int($2+$3)}END{printf "%s\n",use}'`"
echo "MEM = $MEMUSE"
echo "SWAP = `swap -l|tail -1|awk '{use=int(100-($5*100/$4))}END{printf "%s\n",use}'`"

 

 

 

- system 정보 저장하는 shell

 

#!/bin/sh

IdChk=`id | grep root | wc -l`

if [ $IdChk -eq 0 ]; then
  echo
  echo "You must login root... Try again..."
  echo
  exit
fi

OutFile=`hostname`"_"`date +%y%m%d`.out"


echo "-------------------------------------------"| tee -a $OutFile
echo "             시스템 정기 점검              "| tee -a $OutFile
echo "-------------------------------------------"| tee -a $OutFile

echo '1. 점검 일자 : ' `date` | tee -a $OutFile
echo '2. 장비 이름 : ' `hostname` | tee -a $OutFile
echo '3. 모 델 명 : ' `uname -M` | tee -a $OutFile
echo '4. 시리얼번호 : ' `uname -u` | tee -a $OutFile
echo '5. OS 버젼 : ' `oslevel -r` | tee -a $OutFile
echo '6. 커널 비트 : ' `bootinfo -K` | tee -a $OutFile

echo | tee -a $OutFile

echo | tee -a $OutFile
echo "  =====================" | tee -a $OutFile
echo "  CPU / MEMORY 정보확인" | tee -a $OutFile
echo "  =====================" | tee -a $OutFile
echo | tee -a $OutFile
echo "# lsdev -Cc processor" | tee -a $OutFile
lsdev -Cc processor  | tee -a $OutFile
echo | tee -a $OutFile
echo "# bootinfo -r"  | tee -a $OutFile
bootinfo -r  | tee -a $OutFile
echo | tee -a $OutFile
echo "# lscfg -vp |grep Size"  | tee -a $OutFile
lscfg -vp |grep Size | tee -a $OutFile
echo | tee -a $OutFile
echo "# lsps -a"  | tee -a $OutFile
lsps -a  | tee -a $OutFile
echo | tee -a $OutFile
echo | tee -a $OutFile
echo "  ==============" | tee -a $OutFile
echo "  DISKS 정보확인" | tee -a $OutFile
echo "  ==============" | tee -a $OutFile
echo | tee -a $OutFile
lscfg -vp | grep disk  | tee -a $OutFile
echo | tee -a $OutFile
echo "  =================" | tee -a $OutFile
echo "  ADAPTERS 정보확인" | tee -a $OutFile
echo "  =================" | tee -a $OutFile
echo | tee -a $OutFile
echo "# lsdev -Cc adapter"  | tee -a $OutFile
lsdev -Cc adapter  | tee -a $OutFile
echo | tee -a $OutFile
echo "  =================" | tee -a $OutFile
echo "  SLOT 정보확인" | tee -a $OutFile
echo "  =================" | tee -a $OutFile
echo | tee -a $OutFile
echo "# lsslot -c pci"  | tee -a $OutFile
lsslot -c pci | tee -a $OutFile
echo | tee -a $OutFile
echo "  ===================" | tee -a $OutFile
echo "  CDROM 장치 정보확인" | tee -a $OutFile
echo "  ===================" | tee -a $OutFile
echo | tee -a $OutFile
echo "# lsdev -Cc cdrom"  | tee -a $OutFile
lsdev -Cc cdrom  | tee -a $OutFile
echo "  ===================" | tee -a $OutFile
echo "  TAPE 장치 정보확인" | tee -a $OutFile
echo "  ===================" | tee -a $OutFile
echo | tee -a $OutFile
echo "# lsdev -Cc tape"  | tee -a $OutFile
lsdev -Cc tape  | tee -a $OutFile
echo | tee -a $OutFile
echo "  ===================" | tee -a $OutFile
echo "  File Systems 사용량" | tee -a $OutFile
echo "  ===================" | tee -a $OutFile
echo | tee -a $OutFile
echo "# df -Pk"  | tee -a $OutFile
df -Pk  | tee -a $OutFile
echo | tee -a $OutFile
echo "  ============" | tee -a $OutFile
echo "  LVM 정보확인" | tee -a $OutFile
echo "  ============" | tee -a $OutFile
echo | tee -a $OutFile
echo "# lsvg "  | tee -a $OutFile
lsvg| tee -a $OutFile
echo | tee -a $OutFile
echo "# lsvg -o"  | tee -a $OutFile
lsvg -o| tee -a $OutFile
echo | tee -a $OutFile
echo "# lspv "  | tee -a $OutFile
lspv| tee -a $OutFile
echo | tee -a $OutFile
echo "# lsvg |awk '{print "lsvg -l "$1}'|sh"  | tee -a $OutFile
lsvg |awk '{print "lsvg -l "$1}'|sh | tee -a $OutFile
echo | tee -a $OutFile
echo "  ================" | tee -a $OutFile
echo "  NETWORK 정보확인" | tee -a $OutFile
echo "  ================" | tee -a $OutFile
echo | tee -a $OutFile
echo "# ifconfig -a "  | tee -a $OutFile
ifconfig -a| tee -a $OutFile
echo | tee -a $OutFile
echo "# netstat -rn "  | tee -a $OutFile
netstat -rn| tee -a $OutFile
echo | tee -a $OutFile
echo "# EtherChannel "  | tee -a $OutFile
for ENT in `lsdev -Cc adapter|grep EtherChannel|awk '{print $1}'`
  do
  echo ""
  echo "== $ENT =="
        lsattr -El $ENT | tee -a $OutFile
  done
echo "# Duplex"  | tee -a $OutFile
for ENT in `lsdev -Cc adapter|grep ent|grep -v EtherChannel|awk '{print $1}'`
  do
  echo ""
  echo "== $ENT =="
        lsattr -El $ENT | grep speed | tee -a $OutFile
  done

echo "  ====================" | tee -a $OutFile
echo "  ENVIRONMENT 정보확인" | tee -a $OutFile
echo "  ====================" | tee -a $OutFile
echo | tee -a $OutFile
echo "# crontab -l "  | tee -a $OutFile
crontab -l| tee -a $OutFile
echo | tee -a $OutFile
echo "# cat /etc/passwd "  | tee -a $OutFile
cat /etc/passwd| tee -a $OutFile
echo | tee -a $OutFile
echo "# cat /etc/group "  | tee -a $OutFile
cat /etc/group| tee -a $OutFile
echo | tee -a $OutFile
echo "# cat /.profile "  | tee -a $OutFile
cat /.profile| tee -a $OutFile
echo | tee -a $OutFile
echo "# cat /etc/filesystems "  | tee -a $OutFile
cat /etc/filesystems| tee -a $OutFile
echo | tee -a $OutFile
echo "# cat /etc/environment "  | tee -a $OutFile
cat /etc/environment| tee -a $OutFile
echo | tee -a $OutFile
echo "# ulimit -a "  | tee -a $OutFile
ulimit -a| tee -a $OutFile
echo | tee -a $OutFile
echo "# lsattr -El sys0 "  | tee -a $OutFile
lsattr -El sys0| tee -a $OutFile
echo | tee -a $OutFile
echo "# lsattr -El aio0 "  | tee -a $OutFile
lsattr -El aio0 | tee -a $OutFile
echo | tee -a $OutFile
echo "# vmo -a|egrep 'perm|repage' "  | tee -a $OutFile
vmo -a|egrep "perm|repage" | tee -a $OutFile
echo | tee -a $OutFile
echo "  ==============" | tee -a $OutFile
echo "  Error Log 확인" | tee -a $OutFile
echo "  ==============" | tee -a $OutFile
echo | tee -a $OutFile
echo "# errpt"  | tee -a $OutFile
errpt  | tee -a $OutFile
echo | tee -a $OutFile
echo "  ========" | tee -a $OutFile
echo "  LPP 확인" | tee -a $OutFile
echo "  ========" | tee -a $OutFile
echo | tee -a $OutFile
echo "# lppchk -v"  | tee -a $OutFile
lppchk -v  | tee -a $OutFile
echo | tee -a $OutFile
echo "# lslpp -l"  | tee -a $OutFile
lslpp -l  | tee -a $OutFile
echo | tee -a $OutFile
echo "  ========" | tee -a $OutFile
echo "  ETC 확인" | tee -a $OutFile
echo "  ========" | tee -a $OutFile
echo | tee -a $OutFile
echo "# lsconf"  | tee -a $OutFile
lsconf | tee -a $OutFile
echo | tee -a $OutFile
echo "# lscfg -vp "  | tee -a $OutFile
lscfg -vp | tee -a $OutFile
echo | tee -a $OutFile
echo "# ps -ef "  | tee -a $OutFile
ps -ef | tee -a $OutFile
echo | tee -a $OutFile
echo "# bootlist -m normal -o "  | tee -a $OutFile
bootlist -m normal -o | tee -a $OutFile
echo | tee -a $OutFile

echo 'Ending Date : ' `date` | tee -a $OutFile

 

 

 

 

- 사용자 자동 생성 shell

 * 인자값 입력형(예: user.sh 아이디 비번)

 

OID=`cat /etc/passwd|tail -1|cut -f 3 -d :`
NID=`echo "scale=0; $OID + 1"|bc`
UID=$1
x() {                                         
LIST=                                         
SET_A=                                        
for i in "$@"                                 
do                                            
        if [ "$i" = "admin=true" ]            
        then                                  
                SET_A="-a"                    
                continue                      
        fi                                    
        LIST="$LIST \"$i\""                   
done                                          
eval mkuser $SET_A $LIST                      
}                                             
x id='$NID' home='/u/$UID' rlogin='false' $UID

PW=$2
echo "$UID:$PW"|chpasswd
pwdadm -c $UID
echo "$UID 생성 완료"

 

 

 * 대화형(예:user.sh)

 

OID=`cat /etc/passwd|tail -1|cut -f 3 -d :`
NID=`echo "scale=0; $OID + 1"|bc`
read UID?'사번을 입력하세요 => '

x() {                                         
LIST=                                         
SET_A=                                        
for i in "$@"                                 
do                                            
        if [ "$i" = "admin=true" ]            
        then                                  
                SET_A="-a"                    
                continue                      
        fi                                    
        LIST="$LIST \"$i\""                   
done                                          
eval mkuser $SET_A $LIST                      
}                                             
x id='$NID' home='/u/$UID' rlogin='false' $UID

read PW?'비밀번호를 입력하세요 => '

echo "$UID:$PW"|chpasswd

pwdadm -c $UID

echo "$UID 생성 완료"

 

 

- DD 사용(원격)

 

블럭 디바이스
# dd if=/dev/hd3| rsh localhost "dd of=/dev/lv00 bs=1920000"


캐릭터 디바이스
# dd if=/dev/rlv01 ibs=64k obs=512 | rsh hostname dd ibs=512 obs=64k of=/dev/rlv01

 

 

 

- tar 사용

1. Compress(압축)명령
 . tar(create tape archives, and add or extract files)
:파일들을 묶어주는 명령들이다.(압축하지는 않습니다.)

ex) tar -cvf [만들 filename.tar] *    ==> 묶을 때 보통 tar이라는 확장자를 씁니 다.
그러면 filename.tar이라는 파일이 생성 됩니다.

tar -xvf [풀 filename]    ==> 묶였던 파일들이 다시 풀립니다.

compress, uncompress
: 파일을 압축하는 명령입니다. compress는 압축 uncompress는 풀어주는 명령입 니다.

ex) compress [filename]    ==> filename.Z 가 생성됩니다.

# compress temp.tar     ==> temp.tar.Z 가 생성됩니다.

-v 는 압축률을 보여줍니다.

# compress -v temp.tar

 compress는 tar처럼 새로운 파일을 만드는 것이 아니고 원본파일을 압축하기만 합니다.

# uncompress [압축한 filename]     ==> 원래의 파일이 됩니다.

. gzip, gunzip
: 역시 파일을 압축하고 푸는 명령입니다. 보통 compress보다 성능이 좋습니다. 역시 -v option이 있습니다.

ex) gzip [fileanme]     ==> filename.gz 가 생성

#  gzip -v temp.tar     ==> temp.tar.gz 가 생성됨

gunzip [filename]

#  gunzip temp.tar.gz    ==> 원본인 temp.tar가 됨

 

 

2. tar백업(파이프 이용)

# tar -cvf - .|(cd /logdata_recover/ && tar -xvf -)

 

# tar -cvf- <path> | rsh <t_mach> "cd <path> && tar -xvf-"

 

 

 

 

 

- AIO관련 (aio활성화 후 재부팅 해야 적용되는 줄 알았는데...)

# mkdev -l aio0

이렇게 하거나

# smitty aio  -> Configure Defined Asynchronous I/O

 

- AIX(ksh)에서 파일명 자동완성(리눅스에서 일부만 입력후 tab키 누르는 것과 같은 효과)

[ESC] + [=] 실행가능 list up

[ESC] + [\] 파일명 자동완성

 

 

- AIX에서 최대 생성가능 스레드 개수(확인 방법)

기본값은 process당 32767 개

# vi /usr/include/pthread.h 파일을 열어서  PTHREAD_THREADS_MAX  값을 확인 함

 

 

- process top10구현

# ps gu |head -n 1; ps gu | egrep -v "CPU|kproc"|sort +2b -3 -n -r | head -n 10

 

- svmon 상위 15개 용량

# svmon -Pt15|perl -e 'while(<>){print if($.==2||$&&&!$s++);$.=0 if(/^-+$/)}'

 

 

- 터미널(secure CRT등) 글자 깨질때(예: 바이너리파일을 열때  cat /usr/bin/ls)

# echo <ctrl+V><Ctrl+O><Enter>

 

 

- 미들웨어 버전 확인

# su - jeus -c 'jeusadmin -fullversion'

# su - webtob -c 'wsadmin -v'

# su - anylink -c 'tmadmin -v'

# su - tmax -c 'tmadmin -v'

반응형
반응형

1. oracle홈밑에 admin/network 밑에

    모든 . ora 파일을 삭제한다.

  

   ==> oracle홈/bin/netca 를 통해(GUI) 모든 리스너를 새로 만듬(SID까지)

 

2. 방화벽 설정이 되어 있을경우에는 안될수 있음

   root 권한으로 setup 명령을 통해

   방화벽 1521을 예외로 설정한다.

    ==> tnsping 을 통해 해당 컴퓨터에서만 된다면...

참 쉽죠 잉 ~

반응형

'OS > Centos' 카테고리의 다른 글

TAR 절대 경로  (0) 2009.07.03
Centos (센토스) 오라클 설치 오류 해결하기  (0) 2009.04.17
CentOS 5.2 + Xmanager 설정 방법  (1) 2009.03.05
JBOSS 설치하기  (0) 2009.03.05
CVS 설치하기  (0) 2009.03.05
반응형

출처 : http://blog.bagesoft.com/906

 

/etc/X11/gdm/gdm.conf 파일

Enable=true

 

/etc/X11/fs/config 파일

no-listen = tcp 에 주석처리

 

/etc/X11/xdm/xdm-config 파일

DisplayManager.requestPort: 0 맨 마지막 라인 ! 느낌표로 주석 처리

 

/etc/X11/xdm/kdmrc 파일

[Xdmcp] 항목

Enable=true 로 수정 후 저장

 

/etc/X11/xdm/Xaccess 파일

# *                 #any host can get a login window

약 40번째 라인 주석 제거 저장

 

확실하게 하기 위해서 리붓한번 시도

 

이후에 접속을 해 보시구요. 참고로 아이피 대역이 같아야 합니다. (c class 까지)

run level 은 무조건 5 이어야 하구요.

 

# uname -a (운영체제 bit 확인) x86 or i386, i686 ( 32bit OS)

x86_64 라고 나오면 64bit OS

 

방화벽 안씀이라고해 놓았으면 궂이 iptables 를 세팅 안해도 상관없습니다.

 

PATH 설정을 해 주시면 다른 디렉토리에 있는 실행파일을 아무 위치에서나 사용할 수 있습니다.

 

.bash_profile 이나 .cshrc 파일을 열어보시면

PATH = $PATH:/bin ~~~ 이렇게 되어 있죠? 그 다음에 :/opt/java1.4  를 입력하시고 저장하시면 됩니다

Red Hat 5 EL에서 XDMCP 접속을 위한 설정법입니다.
1. XDM 설정
Linux runlevel 설정

/etc/inittab 파일에서 runlevel을 5로 설정
id:5:initdefault:

gdm 환경 설정 (gdm을 사용하는 경우)

/etc/gdm/custom.conf 파일의 [xdmcp] 섹션에서 Enable의 값을 1로 설정
[xdmcp]
Enable=true

kdm 환경 설정 (kdm을 사용하는 경우)

/usr/share/config/kdm/Xaccess 파일의 다음 줄에 코멘트 기호(#)를 삭제
#* #any host can get a login window ==>
* #any host can get a login window
/usr/share/config/kdm/kdmrc 파일의 [xdmcp] 섹션에서 Enable의 값을 true로 설정
[xdmcp]
Enable=true

2. 방화벽 설정
PC에서 UNIX/Linux 방향으로 UDP 177번 포트 개방
UNIX/Linux에서 PC 방향으로 TCP 6000~6010번 포트 개방
3. Linux 장비를 재부팅하거나 다음 명령을 실행한 후 Xmanager를 실행합니다.
# init 3; init 5





서비스가 떴는지 netstat -an | grep 177 로 확인하자.  아래처럼 한 줄이 나오면 정상이다.
사용자 삽입 이미지

위의 설정대로 하고도 서비스가 뜨지 않는다면, 아래 처럼 실행하고 리붓해 보라.

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
  
 
SSH를 통해 접속
실행 명령 부분에 DISPLAY=$DISPLAY;/etc/gdm/Xsession
를 기입하면됨
반응형

+ Recent posts