#!/bin/bash
Action(){
#1,获取svn更新输出
/opt/SVN/svn/bin/svn update /opt/LAMPZ/apache/web > file_out
#2,通过输出文件file_out取得行数
line=$(wc -l file_out|awk '{print $1}')
#3,如果行数大于2,说明有更新或者删除操作,取得需要删除或者更新的文件列表
if [[ $line > 2 ]];then
egrep -v 'Updating|Updated|At' file_out|egrep '^D'|awk '{print $2}'|awk -F'web' '{print $2}'>file_delete #删除的文件列表
egrep -v 'Updating|Updated|At' file_out|egrep -v 'D'|awk '{print $2}'>file_update #更新的文件列表
echo "Yes"
else
echo "No update"
fi
#4,根据file_delete文件进行删除操作
for Del in $(cat file_delete)
do
/opt/ncftp3.2.5/bin/ncftp rm -u wangtao -p wt123321 -P 62256 ${Del#*web}
done
#5,根据file_update文件进行更新操作
for Update in $(cat file_update)
do
Path=${Update#*web}
/opt/ncftp3.2.5/bin/ncftpput -u wangtao -p wt123321 -P 62256 182.92.150.109 /${Path%/*} $Update
done
}
while((1))
do
Action
sleep 1
done