Computer ???
No. | 292 |
Name. | swindler |
Subject. | shell script 예제 - cvs 자동 commit |
Main Cate. | Linux |
Sub Cate. | |
Date. | 2008-07-03 17:19 |
Hit. | 3776 (211.36.27.8) |
File. | |
#!/cjon/bin/bash-3.2/bash cd /cjon/jeus5/webhome/app_home/cjon/ mname=$(date +20%y%m%d)_$(date +%H%M) # 등록할 목록 추출 filelist=`find ./ -type f -mmin -720 | grep -v '/log/' | grep -v '/tempdir/' | grep -v '/CVS/' | grep -v '/lib/' | grep -v '/.warjspwork/' | grep -v '\.class' | grep -v '\.tar' | grep -v '\.ear' | grep -v '\.java\.' | grep -v '\.sw'` #filelist=`find ./ -name BoardConfSelectAction.java` # 파일 하나씩 처리 for filename in $filelist ; do echo "" #echo $filename #filename="/cjon/jeus5/webhome/app_home/cjon/"$filename # commit 을 실행하고 결과 분석 echo "========= cvs commit -m $mname $filename" /cjon/cvs-1.11.22/src/cvs commit -m $mname $filename > /dev/null 2> /cjon/bin/cvsresult.txt result=`cat /cjon/bin/cvsresult.txt | grep 'No such file or directory'` length=`expr length "$result"` # No such file or directory 메세지가 안 뜬 경우 if [ $length -eq 0 ]; then result=`cat /cjon/bin/cvsresult.txt | grep 'nothing known about'` length=`expr length "$result"` #cat /cjon/bin/cvsresult.txt #echo $length # nothing known about이 뜬 경우 if [ $length -ne 0 ]; then result=`cat /cjon/bin/cvsresult.txt | grep 'nothing known' | awk '{print $6}' | sed 's/\`//g' | sed "s/\'//g" ` #echo "---------result" #echo $result echo "========= cvs add > /dev/null -m $mname $result" /cjon/cvs-1.11.22/src/cvs add -m $mname $result fi else # cvs add 를 실행하고 결과 분석 echo "========= cvs add -m $mname $filename" /cjon/cvs-1.11.22/src/cvs add -m $mname $filename > /dev/null 2> /cjon/bin/cvsresult.txt result=`cat /cjon/bin/cvsresult.txt | grep "there is no version here; do 'cvs checkout' first"` length=`expr length "$result"` # no version 에러가 난 경우 (디렉토리 추가) if [ $length -ne 0 ]; then result=`cat /cjon/bin/cvsresult.txt | grep 'in directory' | awk '{print $5}' | sed 's/://g'` #echo $result echo "========= cvs add -m $mname $result" /cjon/cvs-1.11.22/src/cvs add -m $mname $result > /dev/null fi fi done; #cvs commit -m "20080218" $filelist 2> /cjon/bin/cvslist.txt #list1=`grep 'nothing known about' /cjon/bin/cvslist.txt | awk '{print $6}'` #echo $list1 #cvs add $list1 [바로가기 링크] : http://coolx.net/cboard/computer/292 |
|
|
|
[Modify] [Delete] | [Reply] [List] |