개발/Linux/Server (17)
쉘 이용해서 자동 로그인하기

아래와 같은 쉘을 만들어서 실행해준다.

#!/usr/bin/expect -f
spawn ssh 111.111.111.111
expect "assword:"
send "thisispassword\r"
interact

'개발 > Linux/Server' 카테고리의 다른 글

쉘 이용해서 자동 로그인하기  (0) 2014.09.17
vmstat 파일에 쓰기  (0) 2014.08.25
shell 색상 입히기  (0) 2013.11.28
마지막으로 수정된 파일 tail 걸기  (0) 2013.11.13
서버 공인 및 사설 IP 확인  (0) 2013.08.21
방화벽 설정(iptables)  (0) 2013.06.19
0  Comments,   0  Trackbacks
댓글 쓰기
vmstat 파일에 쓰기

시스템 자원, CPU, 메모리 등을 파일로 기록하고 싶을때 사용한다.


아래와 같이 쓰면 된다. 1초마다로 설정해놨으니 숫자 바꾸면 된다.


$ vmstat 1 | xargs -I{} date '+%F %T {}'


결과는 아래처럼...

2014-08-25 14:57:10 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

2014-08-25 14:57:10 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

2014-08-25 14:57:10 3  0  62624 134236  19884 4171812    0    0     0     0 10433 10042 42 22 36  0  0

2014-08-25 14:57:11 4  0  62624 132384  19892 4173124    0    0     0    60 7839 7459 38 10 52  0  0


당연한거지만 파일에 쓸경우 아래처럼..

$ vmstat 1 | xargs -I{} date '+%F %T {}' >> vmstat.log


콘솔 닫아도 적용되게 할려면 아래처럼 하자.

죽일 때는 kill을 이용하자

$ nohup vmstat 1 | xargs -I{} date '+%F %T {}' >> vmstat_log.txt &

[1] 5690

nohup: ignoring input and redirecting stderr to stdout

$ kill -9 5690

'개발 > Linux/Server' 카테고리의 다른 글

쉘 이용해서 자동 로그인하기  (0) 2014.09.17
vmstat 파일에 쓰기  (0) 2014.08.25
shell 색상 입히기  (0) 2013.11.28
마지막으로 수정된 파일 tail 걸기  (0) 2013.11.13
서버 공인 및 사설 IP 확인  (0) 2013.08.21
방화벽 설정(iptables)  (0) 2013.06.19
0  Comments,   0  Trackbacks
댓글 쓰기
shell 색상 입히기

vi .bashrc


아래 항목 중 골라서 추가한다


개발(녹색)

export PS1='\033[1;101m[DEV]\033[0m\u@\033[1;34m\h:\033[1;35m\w\033[1;31m\$\033[0m '


상용(붉은색)

export PS1='\033[1;102m[REAL]\033[0m\u@\033[1;34m\h:\033[1;35m\w\033[1;31m\$\033[0m '


적용은 재접속을 하거나 아래와 같이 적용

source .bashrc


색상 참고는 여기

http://cyj4369.tistory.com/m/post/view/id/113

'개발 > Linux/Server' 카테고리의 다른 글

쉘 이용해서 자동 로그인하기  (0) 2014.09.17
vmstat 파일에 쓰기  (0) 2014.08.25
shell 색상 입히기  (0) 2013.11.28
마지막으로 수정된 파일 tail 걸기  (0) 2013.11.13
서버 공인 및 사설 IP 확인  (0) 2013.08.21
방화벽 설정(iptables)  (0) 2013.06.19
0  Comments,   0  Trackbacks
댓글 쓰기
마지막으로 수정된 파일 tail 걸기

.bash_profile 에 등록해놓으면 되겠다


alias tt='ll -lrt | grep ^- | head -1 | awk '"'"'{print $9}'"'"' | xargs tail -f'

 

tt 입력 시 마지막으로 수정된 파일 tail건다


설명

ll -lrt (시간 역순 정렬)

grep ^- (-로 시작하는 항목 grep, 폴더는 ^d로 걸린다)

awk '"'"'{print $9}'"'"' 항목 중 9번째 항목을 가져온다.  OS별로 숫자는 다를 수 있다

xargs tail -f 태일 건다



.bash_profile 수정후 재접속 혹은

source .bash_profile을 통해 적용


그냥 명령어로 칠려면 다음처럼 심플하게(순서 

ls -lt | grep ^- | head -1 | awk '{print $8}' | xargs tail -f

'개발 > Linux/Server' 카테고리의 다른 글

vmstat 파일에 쓰기  (0) 2014.08.25
shell 색상 입히기  (0) 2013.11.28
마지막으로 수정된 파일 tail 걸기  (0) 2013.11.13
서버 공인 및 사설 IP 확인  (0) 2013.08.21
방화벽 설정(iptables)  (0) 2013.06.19
SVN 서버 설치하기(Cent OS)  (0) 2013.05.14
0  Comments,   0  Trackbacks
댓글 쓰기
서버 공인 및 사설 IP 확인

1. ifconfig를 이용한 평범한 방법

> ipconfig

eth0      Link encap:Ethernet  HWaddr D8:D3:85:E1:1A:E0  
          inet addr:xxx.xxx.xxx.xxx  Bcast:xxx.xxx.xxx.xxx  Mask:255.255.255.192
          inet6 addr: fe80::dad3:85ff:fee1:1ae0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10823500 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7472760 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1547256320 (1.4 GiB)  TX bytes:7501446783 (6.9 GiB)
          Interrupt:162 Memory:f4000000-f4012800 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:14220694 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14220694 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2515746329 (2.3 GiB)  TX bytes:2515746329 (2.3 GiB)


2. netstat를 이용한 방법(HP계열에서만 되는듯?)

> netstat -ni

Name      Mtu  Network         Address         Ipkts   Ierrs Opkts   Oerrs Coll

lo0       4136 127.0.0.0       127.0.0.1       409856012 0     409856012 0     0  

lan4      1500 xxx.xxx.xxx.xxx    xxx.xxx.xxx.xxx  2620308736 0  2487146066 0   0 


3. 번외로 꼼수를 이용

정확히는 서버쪽에서 나가는 IP 확인이 가능하다

what's my ip를 콘솔로 찍은것뿐?

> wget http://ipecho.net/plain -O - -q ; echo




'개발 > Linux/Server' 카테고리의 다른 글

shell 색상 입히기  (0) 2013.11.28
마지막으로 수정된 파일 tail 걸기  (0) 2013.11.13
서버 공인 및 사설 IP 확인  (0) 2013.08.21
방화벽 설정(iptables)  (0) 2013.06.19
SVN 서버 설치하기(Cent OS)  (0) 2013.05.14
각 폴더명 크기 보기  (0) 2013.04.23
0  Comments,   0  Trackbacks
댓글 쓰기
방화벽 설정(iptables)

1. service iptables stop

2. vi /etc/sysconfig/iptables

3. service iptables save

4. service iptables start

5. service iptables status


위 순서대로 서비스를 종료 시키고 수정하고 저장하고 상태 확인이 끝이다.

파일 샘플은 아래 참조

#Firewall configuration written by system-config-securitylevel

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

:RH-Firewall-1-INPUT - [0:0]

-A INPUT -j RH-Firewall-1-INPUT

-A FORWARD -j RH-Firewall-1-INPUT

-A RH-Firewall-1-INPUT -i lo -j ACCEPT

-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT

-A RH-Firewall-1-INPUT -p 50 -j ACCEPT

-A RH-Firewall-1-INPUT -p 51 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 12082 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 12084 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2082 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 40160 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5000 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2401 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10001 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited


'개발 > Linux/Server' 카테고리의 다른 글

마지막으로 수정된 파일 tail 걸기  (0) 2013.11.13
서버 공인 및 사설 IP 확인  (0) 2013.08.21
방화벽 설정(iptables)  (0) 2013.06.19
SVN 서버 설치하기(Cent OS)  (0) 2013.05.14
각 폴더명 크기 보기  (0) 2013.04.23
tomcat 재기동 스크립트  (0) 2013.03.20
0  Comments,   0  Trackbacks
댓글 쓰기
SVN 서버 설치하기(Cent OS)

OS 확인

[root@donnert ~]# cat /etc/*-release
CentOS release 5.5 (Final)


설치

[root@donnert ~]# yum install subversion
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: data.nicehosting.co.kr
 * base: data.nicehosting.co.kr
 * extras: data.nicehosting.co.kr
 * updates: data.nicehosting.co.kr
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package subversion.i386 0:1.6.11-11.el5_9 set to be updated
---> Package subversion.x86_64 0:1.6.11-11.el5_9 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved
================================================================================  Package           Arch          Version                   Repository      Size ================================================================================ Updating:  subversion        i386          1.6.11-11.el5_9           updates        3.1 M  subversion        x86_64        1.6.11-11.el5_9           updates        3.2 M
Transaction Summary ================================================================================ Install       0 Package(s) Upgrade       2 Package(s)
Total download size: 6.4 M Is this ok [y/N]: y Downloading Packages: (1/2): subversion-1.6.11-11.el5_9.i386.rpm               | 3.1 MB     00:21      (2/2): subversion-1.6.11-11.el5_9.x86_64.rpm             | 3.2 MB     00:14      -------------------------------------------------------------------------------- Total                                           181 kB/s | 6.4 MB     00:36      Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction   Updating       : subversion                                               1/4    Updating       : subversion                                               2/4    Cleanup        : subversion                                               3/4    Cleanup        : subversion                                               4/4 
Updated:   subversion.i386 0:1.6.11-11.el5_9     subversion.x86_64 0:1.6.11-11.el5_9    
Complete!


SVN 계정 생성(root로 관리할 경우 패스)

[root@donnert ~]# adduser svn
[root@donnert ~]# passwd svn
Changing password for user svn.
New UNIX password: 
BAD PASSWORD: it is WAY too short
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.


저장소 생성 및 권한 변경

[root@donnert ~]# svnadmin create --fs-type fsfs /home/svn/repos
[root@donnert ~]# chown -R svn:svn /home/svn/repos
[root@donnert ~]# ll /home/svn/repos
합계 48
-rw-r--r-- 1 svn svn  229  5월 14 13:53 README.txt
drwxr-xr-x 2 svn svn 4096  5월 14 13:53 conf
drwxr-sr-x 6 svn svn 4096  5월 14 13:53 db
-r--r--r-- 1 svn svn    2  5월 14 13:53 format
drwxr-xr-x 2 svn svn 4096  5월 14 13:53 hooks
drwxr-xr-x 2 svn svn 4096  5월 14 13:53 locks


설정 변경(이후부터는 svn 계정)

[root@donnert ~]# su - svn
[svn@donnert ~]$ cd repos/conf
[svn@donnert ~]$ vi passwd
아이디=비밀번호 

[svn@donnert ~]$ vi authz
[repos:/]
아이디= rw

[svn@donnert ~]$ vi svnserve.conf (주석을 지워줘야 한다)
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz


기동 및 확인

[svn@donnert conf]$ svnserve -d -r /home/svn
[svn@donnert conf]$ ps -ef | grep svnserve | grep -v grep
svn       7375     1  0 13:57 ?        00:00:00 svnserve -d -r /home/svn
[svn@donnert conf]$ netstat -an | grep 3690
tcp        0      0 :::3690                     :::*                        LISTEN      


중지 및 확인

[svn@donnert conf]$ killall svnserve
[svn@donnert conf]$  ps -ef | grep svnserve | grep -v grep
[svn@donnert conf]$ netstat -an | grep 3690


추가 폴더 생성(trunk, branches, tag)

의미는 http://cranix.net/302 에서 확인하기 바란다.. 안만들어도 크게 상관없는듯

인증 실패가 생길 경우 --username=xxx 추가해서 인증받기 바란다

[svn@donnert conf]$ svn mkdir svn://localhost/repos/trunk
svn: 로그 메시지를 구하기 위해 외부 프로그램을 사용할 수 없습니다. SVN_EDITOR 환경변수를 설정하시거나 --message (-m) 또는 --file (-F) 옵션을 사용하세요.
svn: 환경변수 SVN_EDITOR, VISUAL, EDITOR 중 하나는 설정하거나, 'editor-cmd' 를 구성화일에 명시해야합니다.

나올경우 아래 추가 후 재실행(나머지2개 폴더도 만들어주자)

[svn@donnert conf]$ SVN_EDITOR=/usr/bin/vim 
[svn@donnert conf]$ export SVN_EDITOR 
[svn@donnert conf]$ svn mkdir svn://localhost/project/trunk

저장 후 C 선택 Store password unencrypted (yes/no)? yes Please type 'yes' or 'no': 예     
[svn@donnert conf]$ svn list svn://localhost/repos trunk/


젠장 하다하다 안되서 확인해보니 방화벽 문제였다는... 


추가 

부팅시 자동 등록되게 할려면

root로 접속 -> vi /etc/rc.d/rc.local

아래 줄을 추가해준다(svn계정으로 실행)

su -c 'svnserve -d -r /home/svn' svn


'개발 > Linux/Server' 카테고리의 다른 글

서버 공인 및 사설 IP 확인  (0) 2013.08.21
방화벽 설정(iptables)  (0) 2013.06.19
SVN 서버 설치하기(Cent OS)  (0) 2013.05.14
각 폴더명 크기 보기  (0) 2013.04.23
tomcat 재기동 스크립트  (0) 2013.03.20
telnet 이용해서 서버 감시 로그 찍기  (0) 2012.12.17
0  Comments,   0  Trackbacks
댓글 쓰기
각 폴더명 크기 보기

아래의 명령어 입력 시 폴더별 크기가 출력된다.

$8의 경우 ll 실행시 나오는 순서이다.  8번째가 파일명이니 8을 적어준다

OS마다 다를 수 있으니 붉은 부분을 체크해보자


$ ll | grep ^d | awk '{print $8}' | xargs du -sk

30764   app


$ ll

합계 227836

drwxrwxr-x   4 test test      4096 2013-04-22 11:01 app

1                 2  3    4           5        6             7     8


'개발 > Linux/Server' 카테고리의 다른 글

방화벽 설정(iptables)  (0) 2013.06.19
SVN 서버 설치하기(Cent OS)  (0) 2013.05.14
각 폴더명 크기 보기  (0) 2013.04.23
tomcat 재기동 스크립트  (0) 2013.03.20
telnet 이용해서 서버 감시 로그 찍기  (0) 2012.12.17
폴더별로 크기 보기  (0) 2012.12.17
0  Comments,   0  Trackbacks
댓글 쓰기
tomcat 재기동 스크립트

#!/bin/bash

INSTANCE='cmsSvr11'

echo 'Tomcat Stop'

sh ~/was/tomcat/bin/stop$INSTANCE.sh

while [ : ];

do

sleep 1

CNT=`ps -ef | grep tomcat | grep java | grep -v grep | grep D$INSTANCE | wc -l`

echo 'Tomcat process count -> '$CNT

if [ $CNT -lt 1 ]

then

        echo "Tomcat starting... >> catalina tail start";

        sh ~/tomcat/bin/startup.sh

        cdate=$(date +'%Y-%m-%d')

        tail -f ~/tomcat/logs/catalina.$cdate.log

        exit 1

fi

done

'개발 > Linux/Server' 카테고리의 다른 글

SVN 서버 설치하기(Cent OS)  (0) 2013.05.14
각 폴더명 크기 보기  (0) 2013.04.23
tomcat 재기동 스크립트  (0) 2013.03.20
telnet 이용해서 서버 감시 로그 찍기  (0) 2012.12.17
폴더별로 크기 보기  (0) 2012.12.17
tomcat 에서 access 로그 사용하기  (0) 2012.08.30
0  Comments,   0  Trackbacks
댓글 쓰기
telnet 이용해서 서버 감시 로그 찍기

크론탭에 등록 후 사용할 것을 추천

서버가 살아있는지 죽어있는지 단순 텔넷을 이용해 로그를 남긴다.




#!/usr/bin/ksh

tpipe() {
    sleep 2;echo 'exit'
    sleep 2
}

aliveCheck() {
  LOG_YEAR=`/bin/date +%Y`
  LOG_MONTH=`/bin/date +%m`
  LOG_DATE=`/bin/date +%Y%m%d`
  LOG_TIME=`/bin/date +%H:%M:%S`
  TARGET_SERVER='127.0.0.1 80'

  aliveDir=/home/test/log/$LOG_YEAR/$LOG_MONTH/
  aliveFileName=alive.$LOG_YEAR$LOG_MONTH$LOG_DATE
  alivePath=$aliveDir$aliveFileName

  if [ ! -d $aliveDir ]; then
    mkdir -p $aliveDir
  fi
 
  RESULT=`tpipe | telnet $TARGET_SERVER | grep Escape |wc -l`

  if [ $RESULT != "1" ]
  then
    echo "$LOG_TIME - $TARGET_SERVER Down" >> $alivePath
  else
    echo "$LOG_TIME - $TARGET_SERVER Server Alive" >> $alivePath
  fi
}

(aliveCheck)

'개발 > Linux/Server' 카테고리의 다른 글

각 폴더명 크기 보기  (0) 2013.04.23
tomcat 재기동 스크립트  (0) 2013.03.20
telnet 이용해서 서버 감시 로그 찍기  (0) 2012.12.17
폴더별로 크기 보기  (0) 2012.12.17
tomcat 에서 access 로그 사용하기  (0) 2012.08.30
파일 사이즈로 찾기  (0) 2012.06.04
0  Comments,   0  Trackbacks
댓글 쓰기