分享SVN的钩子代码

#/bin/bash
    REPOS=$1
    TXN=$2

    export HOME=/
    export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

    SVNLOOK=/usr/bin/svnlook
    CAT="$SVNLOOK cat -t $TXN $REPOS"
    $SVNLOOK changed -t "$TXN" "$REPOS" |awk '$1~/^[^D]/{print $NF}' |while read line; do
            #bash syntax check
    # if echo $line |grep -q '\.sh$'; then
    # $CAT $line |bash -n 2>&2 && continue
    # echo "BASH SYNTAX ERROR: $line" >&2
    # exit 4
    # fi
            #perl syntax check
            if echo $line |grep -q '\.pl$'; then
                    $CAT $line |perl -c 2>&2 && continue
                    echo "PERL SYNTAX ERROR: $line" >&2
                    exit 4
            fi
            #puppet syntax check
            if echo $line |grep -q '\.pp$'; then
                    $CAT "$line" |puppet --color=false --parseonly --ignoreimport >&2
                    [ $? -eq 0 ] && continue
                    echo "PUPPET SYNTAX ERROR: $line" >&2
                    exit 4
            fi
            #erb syntax check
            if echo $line |grep -q '\.erb$'; then
                    $CAT $line |erb -x -T '-' |ruby -c 2>&2 && continue
                    echo "ERB SYNTAX ERROR: $line" >&2
                    exit 4
            fi
    done

    #!/bin/bash
    /usr/bin/svn update /etc/puppet/ --username test --password test >> /tmp/abc.out
    if [ $? == 0 ]
    then
           echo "ok" >> /tmp/thisabc.out
           /bin/rsync -avztpogdH --password-file=/opt/my2 /etc/puppet root@xxx.xxx.xxx.xxx::abc
    fi


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值