ssh ls *|wc -l 返回统计值

本文介绍了一款用于通过SSH连接远程服务器并批量统计指定目录下匹配特定模式的文件数量的Shell脚本。该脚本能够遍历一系列IP地址,针对每个服务器上的指定路径进行文件数量的统计。

ssh ls *|wc -l 返回统计值

#!/bin/sh

 for i in {2..25}
 do
        ip=10.161.21.$i
        echo $ip

        t=`ssh unicomlabs@$ip    "ls /home/unicomlabs/qq*|wc -l"`;
        echo "t=$t"
       #echo $ip >> ip10.161.21.txt;  echo "####################################################" >> ip10.161.21.txt;echo "####################################################" >> ip10.161.21.txt
        #t2=`ssh unicomlabs@$ip   cat /home/unicomlabs/ip2.txt|wc -l`;
        #t3=`ssh unicomlabs@$ip   cat /home/unicomlabs/ip3.txt|wc -l`;
        #t4=`ssh unicomlabs@$ip   cat /home/unicomlabs/ip4.txt|wc -l`;
        #t5=`ssh unicomlabs@$ip   cat /home/unicomlabs/ip5.txt|wc -l`;
        #t=$(($t1+$t2+$t3+$t4+$t5))
        #echo "$ip=$t";


done

逐行解释这个脚本的含义:#!/bin/bash config="../config/wirecutter.conf" local0=`awk -F '=' '/[clients]/{a=1}a==1&&$1~/local0/{print $2;exit}' $config` local1=`awk -F '=' '/[clients]/{a=1}a==1&&$1~/local1/{print $2;exit}' $config` local2=`awk -F '=' '/[clients]/{a=1}a==1&&$1~/local2/{print $2;exit}' $config` local3=`awk -F '=' '/[clients]/{a=1}a==1&&$1~/local3/{print $2;exit}' $config` local4=`awk -F '=' '/[clients]/{a=1}a==1&&$1~/local4/{print $2;exit}' $config` local5=`awk -F '=' '/[clients]/{a=1}a==1&&$1~/local5/{print $2;exit}' $config` login_pwd="admin" control_ip=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"` /etc/init.d/dbus start service avahi-daemon start for i in "${test[@]}" do tmp=(${i//@/ }) addr=${tmp[1]} ip=`ping ${addr} -c 1 | sed '1{s/[^(]*(//;s/).*//;q}'` login_name=${tmp[0]} ssh-keygen -R $addr sshpass -p $login_pwd ssh $login_name@$addr -o StrictHostKeyChecking=no << EOF exit EOF echo "set $addr done" done read -p "Entet Test name: " test time="`date +%m%d`-`date +%H_%M_%S`" test="$test-$time" touch testname.txt chmod 777 testname.txt echo $test echo $test > testname.txt ../usr/bin/net-hydra -c ../config/wirecutter.conf -testname $test ../usr/bin/countdown 300 echo "Test:$test finished" echo "Test:$test results receiving..." ./result_rev_test.sh if [ `ls -lR ./data/$test|grep "^-"|wc -l` == 6 ]; then echo "Test:$test results collection completed!" else sleep 5s ./result_rev_test.sh if [ `ls -lR ./data/$test|grep "^-"|wc -l` == 6 ]; then echo "Test:$test results collection completed!" else echo "some results are not in fold, please execute result_rev_test.sh manually" ls ./data/$test fi fi ./extraction.sh
最新发布
10-10
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值