안녕하세요. 초보 입니다.


오늘은 SVN(Subversion)이라고도 불리는 형상관리 툴을 종료하는 스크립트를 공유할까 합니다.


단, 하나의 문제점은 해당 서버에 같은 계정으로 여러 SVN이 띄워져 있을때는 모두 종료 되므로 조심하여 사용하시기 바랍니다.


또는, 다른 방법을 알려 주시면 참고하도록 하겠습니다.

#!/bin/bash
export $CI_USER = appadm
echo stop svnserve daemon
ps -fu $CI_USER | grep svnserve | grep -v grep | awk '{ print $2}' | xargs -t -i kill -9 {}



명령어만 보면 한줄이라 간단하죠?


하지만 자세히 뜯어보면 여러 파이프라인으로 연결해서 사용하고 있는걸 알고 있습니다.


1. ps -fu $CI_USER 는 SVN 기동 계정이 appadm 이라고 했을 때 해당 유저로 잡히는 프로세스들을 말합니다.


2. grep svnserve 는 1번 결과중 svn프로세스를 잡겠다는 것입니다.


3. grep  -v grep 은 svn 프로세스를 grep 으로 잡고있는 나도 같이 포함되므로 이를 제외하겠다는 뜻 입니다.


4. awk '{ print $2}' 는 그중에서 PID(Process ID)를 뽑아내겠다는 겁니다.


5. xargs -t -i kill -9 {} 는 4번에서  뽑은 PID를 강제종료 시키는 명령어입니다.



거듭 말하지만 위 명령어는 SVN이 한 계정, 한 서버에 하나만 있을때 사용할 수 있습니다.


감사합니다.


+ Recent posts