一个测试下载速度的shell脚本
在Linux下用Shell来测试下载度,代码如下:
代码如下:
#!/bin/bash
#date:20140210
#used for test server download speed
r_host="188.18.28.19"
r_dir="/home/test0208/tmp"
r_file="$r_dir/ddfile2m"
l_dir="/home/yangjuying/tmp"
l_file="$l_dir/ddfile2m"
l_log="$l_dir/182.18.28.19-download.log"
echo "----------$(date +%Y%m%d-%H%M%S)----------" >>$l_log
start_t="$(date +%s)"
scp -P22 -o connecttimeout=10 -o GSSAPIAuthentication=no test0208@$r_host:$r_file $l_file >>$l_log 2>&1
rc="$?"
if [ "$rc" -eq 0 ];then
stop_t="$(date +%s)"
file_stat="$(stat $l_file)"
file_ctime="$(echo "$file_stat" | awk -F "[ .]" 'FNR==5{print $2,$3}' | sed 's/[- :]/ /g')"
file_ct="$(awk -v t="$file_ctime" 'BEGIN{print mktime(t)}')"
file_size="$(du -sm $l_file | cut -f1)"
rm "$l_file"
else
stop_t=""
fi
if [ -n "$stop_t" ];then
connect_t=$(($file_ct-$start_t))
transfer_t=$(($stop_t-$file_ct))
all_t=$(($stop_t-$start_t))
speed="$(echo "scale=3;$file_size/$transfer_t" | bc)"
echo "size:${file_size}MB, all_time:$all_t, connect_time:$connect_t, transfer_time:$transfer_t, speed:${speed}MB/s" >>$l_log
else
echo "scp error!" >>$l_log
fi
相关推荐
-
批量转换目录下文件编码的shell脚本代码
一例批量转换目录下文件编码的shell脚本代码. 需求描述:由于从window转linux过来,很多原来win下的gbk文件需要转换成utf8. 以下脚本仅判断非utf8文件转换成utf8文件,并且默认非utf8文件为gbk,如果文件类型不一致需要修改. 例子: 复制代码 代码如下: #!/bin/bash# File Name: iconv.sh# Author: wanggy# site: www.jb51.net#show_file(){ for file in `ls $1`
-
一个下载网页图片的shell脚本
记得去年找工作面试时,听到一位同学说自己非常喜欢linux,我相信他说的是真的,我觉得喜欢linux的人很大的快乐来自shell脚本,因为它能够整合linux上的各种资源干大事.下面和大家分享下一个shell脚本写的图片抓取器.使用方法:复制以下代码,命名为img_downloader.sh.使用时在shell下输入 ./img_downloader.sh www.baidu.com -d images,该shell脚本就会把百度首页上的图片下下来了. 复制代码 代码如下: #!/bin/bas
-
nginx日志切割shell脚本
一.脚本思路 第一步就是重命名日志文件,不用担心重命名后nginx找不到日志文件而丢失日志.在你未重新打开原名字的日志文件前,nginx还是会向你重命名的文件写日志,linux是靠文件描述符而不是文件名定位文件. 第二步向nginx主进程发送USR1信号. nginx主进程接到信号后会从配置文件中读取日志文件名称,重新打开日志文件(以配置文件中的日志名称命名),并以工作进程的用户作为日志文件的所有者. 重新打开日志文件后,nginx主进程会关闭重名的日志文件并通知工作进程使用新打开的日志文件.
-
一个测试下载速度的shell脚本
在Linux下用Shell来测试下载度,代码如下: 复制代码 代码如下: #!/bin/bash#date:20140210#used for test server download speedr_host="188.18.28.19"r_dir="/home/test0208/tmp"r_file="$r_dir/ddfile2m"l_dir="/home/yangjuying/tmp"l_file="$l_di
-
分享一个入门级可控多线程shell脚本代码
说到shell可控多线程,网上分享的大部分是管道控制的方案.这种方案,张戈博客也曾经实战并分享过一次:<Shell+Curl网站健康状态检查脚本,抓出中国博客联盟失联站点>,感兴趣的朋友可以看看. 分享一个入门级可控多线程shell脚本方案 下面张戈博客再分享另一种更容易理解的入门级可控多线程shell脚本方案:任务切割.各个击破. 先来 1 段场景描述: 某日,在鹅厂接到了这个任务,需要在Linux服务器中,对几千个IP进行一次Ping检测,只要取得ping可达的IP就好.如果单个IP去pi
-
一个强大的网络分析shell脚本分享(实时流量、连接统计)
介绍一个强大的分析网络的shell脚本,此脚本是从EZHTTP拆分出来的,觉得有必要单独介绍下. 脚本运行效果截图: 此脚本包含的功能有: 1.实时监控任意网卡的流量 2.统计10秒内平均流量 3.统计每个端口在10秒内的平均流量,基于客户端和服务端端口统计.可以看出哪些端口占流量比较大,对于web服务器,一般是80端口.其它端口受到攻击时,也有可能其它端口流量比较大.所以此功能可以帮助我们端口流量是否正常. 4.统计在10s内占用带宽最大的前10个ip.此项功能可以帮助我们来查出是否有恶意占用
-
shell脚本学习指南[二](Arnold Robbins & Nelson H.F. Beebe著)
该进入第四章了,刚才看到一个帖子标题:我空有一身泡妞的好本领,但可惜自己是个妞.汗-这个...音乐无国界嘛,这个不应该也没性别界么? 第四章文本处理工具 书中先说明了以下排序的规则,数值的就不用说了,该大就大该小就小,但是字符型很多时候是区分声调或者重音的.在命令行中输入locale查看自己系统的编码配置.默认的是系统配置里的,但是可以自己设置排序的编码.如: 复制代码 代码如下: $ LC_ALL=C sort french-english #以传统ASCII码顺序排序 下边介绍以下排序命令s
-
shell脚本编写俄罗斯方块
网上看到的一个用linux的shell脚本写的俄罗斯方块.共享一下. 原作者信息在脚本的注释中有. 下载地址:点击下载 代码: #!/bin/bash # Tetris Game # 10.21.2003 xhchen<[email]xhchen@winbond.com.tw[/email]> #APP declaration APP_NAME="${0##*[\\/]}" APP_VERSION="1.0" #颜色定义 cRed=1 cGreen=2
-
Shell脚本的超详细讲解(推荐!)
目录 一.Shell脚本基础概念 1.1 什么是shell? 1.2 什么是shell脚本 1.3 shell脚本的意义 二.创建一个简单的Shell脚本 2.1 创建一个shell脚本文件 2.2 运行一个Shell脚本 2.2.1 脚本文件无执行权限 2.2.2 脚本文件有执行权限 三.基本语法 3.1 变量 3.1.1 变量类型 3.1.2 变量操作 3.1.3 字符串变量 3.1.4 数组 3.1.5 变量传参 3.2 运算符 3.2.1 算数运算符 3.2.2 关系运算符 3.2.3
-
Shell脚本批量修改文件后缀名代码分享
早上本想将一些照片上传到相册中,但是由于所有照片的扩展名都是JPG而不是小写的jpg,因此造成了"格式不正确"而不能上传照片.此刻就产生了这样一个问题:使用shell脚本如何批量将所有文件的扩展名JPG都改成小写的jpg? 既然要批量替换文件名,那么肯定得用一个for循环依次遍历指定目录下的每个文件.对于每个文件,假如该文件的名称为name.oldext,那么我们必须原始文件名中挖出name,再将它与新的文件扩展名newext拼接形成新的文件名name.newext.依照这样的思路,就
-
CentOS下对shell脚本加密的二种方法
第一种方法(gzexe): 这种加密方式不是非常保险的方法,但是能够满足一般的加密用途,可以隐蔽脚本中的密码等信息. 它是使用系统自带的gzexe程序,它不但加密,同时压缩文件. 使用方法: 复制代码 代码如下: gzexe file.sh 它会把原来没有加密的文件备份为 file.sh~ ,同时 file.sh 即被变成加密文件: 第二种方法(shc): 使用 shc 对 Linux shell 脚本加密. shc是一个专业的加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行
-
将PHP作为Shell脚本语言使用
我们都知道,PHP是一种非常好的动态网页开发语言(速度飞快,开发周期短--).但是只有很少数的人意识到PHP也可以很好的作为编写Shell脚本的语言,当PHP作为编写Shell脚本的语言时,他并没有Perl或者Bash那么强大,但是他却有着很好的优势,特别是对于我这种熟悉PHP但是不怎么熟悉Perl的人. 要使用PHP作为Shell脚本语言,你必须将PHP作为二进制的CGI编译,而不是Apache模式:编译成为二进制CGI模式运行的PHP有一些安全性的问题,关于解决的方法可以参见PHP手册(ht
-
shell脚本测试某网段内主机连通性
1. 测试192.168.4.0/24整个网段的连通性(while版本) #!/bin/bash #Author:丁丁历险(Jacob) #定义变量i控制循环次数,i从1开始循环,每循环一次,i自加1,直到i等于254循环退出 #在每次循环中对一个IP进行ping测试,如果ping通,提示主机是UP的 #如果无法ping同,则提示主机是down的 #ping命令的-c选项控制ping测试的次数,-c2表示对目标主机执行2次ping测试 #ping命令的-i选项,控制多次ping测试的间隔时间默认
随机推荐
- 让你一句话理解闭包(简单易懂)
- 玩转Win XP系统内置语音输入软件
- ASP.NET 实现验证码以及刷新验证码的小例子
- ASP.NET中GridView、DataList、DataGrid三个数据控件foreach遍历用法示例
- js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
- js发送短信倒计时的简单实现方法
- php安装扩展mysqli的实现步骤及报错解决办法
- C++中const用法小结
- Android提高之蓝牙传感应用实例
- jQuery判断复选框是否勾选的原理及示例
- Android中TextView显示圆圈背景或设置圆角的方法
- 解析C++中虚析构函数的作用
- C++虚析构函数的使用分析
- Cisco Catalyst 6500为何一统思科
- 利用Django内置的认证视图实现用户密码重置功能详解
- jQuery+datatables插件实现ajax加载数据与增删改查功能示例
- PHP echo()函数讲解
- Springboot整合activemq的方法步骤
- 基于Python开发chrome插件的方法分析
- nginx 平滑重启的实现方法