背景
不知道公司运维做了什么,其实公司就没有运维人员,svn服务器总是还没有完成co就卡死了,最多下载150M。无奈之下写此脚本
#!/bin/sh
record=0
while true;
do
cpu=$(ps aux|grep /Applications/Xcode.app/Contents/Developer/usr/bin/svn\ update|grep -v "grep"|awk '{print $3}') #获取cpu用量,grep <> 筛选包含<>的行, grep -v <> 排除包含<>的行,awk '{print $3}' 取第3列
pid=$(ps aux|grep /Applications/Xcode.app/Contents/Developer/usr/bin/svn\ update|grep -v "grep"|awk '{print $2}')
#cpu check
result=${cpu/.*} # 去除小数,这里不是很严谨,当cpu用量零点几时,就判断成0了
if [[ $result == 0 ]];then
if [[ $record == $pid ]];then
kill -9 $pid;
echo "$pid was killed";
else
let record=${pid};
fi
else
let record=0;
fi
echo `date +%F" "%H:%M:%S`+" cpu:$result% record pid:$record pid:$pid"
sleep 30
done
脚本虽然不是很严谨,但是还是很好用的。另一脚本就是一个死循环执行svn cleanup,svn update.两个很傻的脚本配合,才能从服务器更新。