4,510,862 th visitor since 2017.2.1 ( Today : 1429 )
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



Name
Password
Comment
Copyright © 1999-2017, swindler. All rights reserved. 367,611 visitor ( 1999.1.8-2004.5.26 ), 2,405,771 ( -2017.01.31)

  2HLAB   2HLAB_Blog   RedToolBox   Omil   Omil_Blog