shell 批量操作 多线程
2016-09-29 16:26
120 查看
1.删除文件
小于10的文件输出格式为01.txt,02.txt
-gt 是大于
2.解压文件
由于app目录有时会存在个别py文件,而压缩文件里面全是pyc文件
删除app整个目录是防止py文件会把pyc文件给覆盖
3.调用接口重新加载配置
4.多线程处理
一共是55个任务,分3+1即4个线程去处理
serCount=55
progress=3
eachCnt=$(expr $serCount / $progress);
progress=$(expr $progress + 1);
for proCnt in $(seq $progress); do
{
for i in $(seq $eachCnt); do
j=$(expr $i - 1);
j=$(expr $j \* $progress);
j=$(expr $j + $proCnt);
if [[ $serCount -ge $j ]];then
echo "zzjbSvr$j";
fi;
done;
}&
done;
wait
小于10的文件输出格式为01.txt,02.txt
for((i=2;i<=3;i++)); do if [[ $i -gt 10 ]]; then echo "$i.txt"; else rm -f "0$i.txt"; fi; done;
-gt 是大于
2.解压文件
由于app目录有时会存在个别py文件,而压缩文件里面全是pyc文件
删除app整个目录是防止py文件会把pyc文件给覆盖
for i in $(seq 55); do echo "reloadPyc Svr$i";cd /Svr$i/;rm -rf app;sleep 1;tar -zxvf 1.tar.gz >/dev/null 2>&1 done;
3.调用接口重新加载配置
for((port=100;port<=10000;i=i+1000)); do wget 'http://167.498.22.959:$port/reload' -O /tmp/result.txt;sleep 1; done;
4.多线程处理
一共是55个任务,分3+1即4个线程去处理
serCount=55
progress=3
eachCnt=$(expr $serCount / $progress);
progress=$(expr $progress + 1);
for proCnt in $(seq $progress); do
{
for i in $(seq $eachCnt); do
j=$(expr $i - 1);
j=$(expr $j \* $progress);
j=$(expr $j + $proCnt);
if [[ $serCount -ge $j ]];then
echo "zzjbSvr$j";
fi;
done;
}&
done;
wait
相关文章推荐
- shell字符串操作及批量文件重命名
- 通过shell脚本批量部署ssh私钥认证以及批量操作工具pssh的简单使用
- shell 实现批量操作redis
- SHELL实现同时操作多个服务器:服务器批量管理
- shell脚本批量操作用户
- Shell(6): 多线程操作及线程数
- Shell多线程操作及线程数控制实例
- Shell多线程操作及线程数控制实例
- Shell遍历hadoop目录的批量操作
- shell相关的批量操作
- shell脚本批量操作linux主机:
- shell多线程操作
- linux中shell常用联合批量操作命令
- Shell多线程操作及线程数控制实例
- Shell多线程操作及线程数控制实例
- Shell多线程操作及线程数控制实例
- shell脚本和expect脚本完成批量操作
- Shell多线程操作及线程数控制实例
- shell实现交换机批量操作
- 【SHELL】5 批量文件操作