大文件或目录复制时的信息统计脚本

昨天在机房等待复制数据(332G)时,实在等待的无聊,就写了这么个东西;主要用于当开始一个复制操作时,如果量比较大,我们又必须等待其完成,每次通过du查看的数据,自己要算一下才知道大概有多久;这个很麻烦,于是想,这应该是个很简单的脚本;

先说操作前提,首先得有正在复制的东东,文件或目录皆可,然后要给脚本一个间隔时间,脚本通过间隔时间来计算平均每秒复制速度,然后还要告诉脚本源文件和目标文件,当然目录也可以。

如下:

./script.sh 10 /nfs/openSUSE-11.2-DVD-x86_64.iso /opt/os/openSUSE-11.2-DVD-x86_64.iso
Speed: 13.20MB/s; Done: 0.12GB; 121.00MB     # 每秒平均速度,完成的GB多少,MB多少
Time: 5.45 sec; Have: 4.22GB; 4316.41MB      # 预计还需要多少分钟,还有多少没复制,其大小是多少GB,MB

代码如下:

#!/bin/bash DIR1=${2:-/var/log/} DIR2=${3:-/var/log/} INV=${1:-30} HELP(){         echo " Usage: $0 interval /path/source/dir/ /path/destination/dir/"        echo " Exam: $0 30 /opt/data/bak/ /mnt/disk1/"        exit 1 } [ -z $1 ] && HELP CT=`du -s $DIR1|awk '{print $1}'` BFR=`du -s $DIR2|awk '{print $1}'` sleep $INV AFT=`du -s $DIR2|awk '{print $1}'` DMB=`echo $AFT|awk '{printf("%.2lf",$1/1024)}'` DGB=`echo $AFT|awk '{printf("%.2lf",$1/1024/1024)}'` MB=`echo $AFT $BFR $INV|awk '{printf("%.2lf",($1-$2)/$3/1024)}'` echo "Speed: "$MB"MB/s; Done: "$DGB"GB; "$DMB"MB "ETIME=`echo $CT $AFT $MB|awk '{printf("%.2lf",($1/1024-$2/1024)/$3/60)}'` EGB=`echo $CT $AFT|awk '{printf("%.2lf",($1-$2)/1024/1024)}'` EMB=`echo $CT $AFT|awk '{printf("%.2lf",($1-$2)/1024)}'` echo "Time: $ETIME sec; Have: "$EGB"GB; "$EMB"MB"

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/Linux/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件
, printf
, 脚本
, opensuse
, echo
, awk
, bfr
, mb
, 脚本的DVD开发
v13.20+3
shell脚本复制文件、bat脚本复制文件夹、bat脚本复制文件、windows复制文件脚本、自动复制文件脚本,以便于您获取更多的相关知识。

时间: 2024-11-16 01:19:34

大文件或目录复制时的信息统计脚本的相关文章

Linux如何查找大文件或目录总结及在全部目录中查找

 在Windows系统中我们可以使用TreeSize工具查找一些大文件或文件夹非常的方便高效在Linux系统中如何去搜索一些比较大的文件呢下面我整理了一下在Linux系统中如何查找大文件或文件夹的方法.   1 如何查找大文件 其实很多时候你需要了解当前系统下有哪些大文件比如文件大小超过100M或1G阀值视具体情况而定.那么如何把这些大文件搜索出来呢例如我要搜索当前目录下超过800M大小的文件 [root@getlnx01 u03]# pwd /u03 [root@getlnx01 u03]#

Linux如何查找大文件或目录总结

    在Windows系统中,我们可以使用TreeSize工具查找一些大文件或文件夹,非常的方便高效,在Linux系统中,如何去搜索一些比较大的文件呢?下面我整理了一下在Linux系统中如何查找大文件或文件夹的方法.   1: 如何查找大文件? 其实很多时候,你需要了解当前系统下有哪些大文件,比如文件大小超过100M或1G(阀值视具体情况而定).那么如何把这些大文件搜索出来呢?例如我要搜索当前目录下,超过800M大小的文件 [root@getlnx01 u03]# pwd /u03 [root

unix如何复制文件和文件夹目录

  演示系统及适用范围 演示系统:FreeBSD9.1 适用范围:unix及linux系统 cp复制命令用法 命令 执行结果说明 cp file1 file2 将现有的,名为file1的文件复制到名为file2的usr文件中. cp file1 /crchive 把file1复制到archive目录中,该目录是根目录下的一个子目录. cp file1 mystuff/newfile 将能file1复制到当前目录的mystuff目录中.如果newfile是子目录,file1将被复制到mystuff

Linux scp 无密码复制文件和目录

在远程拷贝的时候,需要配置scp的 无密码 复制文件和目录.在编写Shell脚本的时候非常有用,你不希望shell脚本在执行过程中因为要检验密码被打断而报权限错误吧. 整个过程如下: 本地服务器:A 远程服务器:B 1.在 A 上运行 ssh-keygen -t rsa 在/home/openpf/.ssh下生成id_rsa 和 id_rsa.pub 两个文件,然后在/home/openpf/.ssh下复制备份一份id_rsa.pub 命名为 id_rsa.pub.A,以便拷贝到服务器B,如图所

Linux文件和目录操作基本命令:cp命令

cp(copy)命令可以将文件或目录复制到其他目录中,就如同DOS下的copy命令一样,功能非常强大.在使用cp命令时,只需要指定源文件名与目标文件名或目标目录即可.格式: cp <源> <目标>

备份-求大神告诉我为什么我下面这个批处理复制时唯独windows目录里的文件拷贝不出来 试过右键管理员

问题描述 求大神告诉我为什么我下面这个批处理复制时唯独windows目录里的文件拷贝不出来 试过右键管理员 echo off set /p zf= 输入字符(如 .txt;a.txt;???s.*): set /p lj= 设置你要备份的路径(如 c:): md %lj% for %%a in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (for /f "tokens=*" %%i in ('dir /a-d /b

Win8用工具FastCopy极速复制大文件实现快速转移

大家空闲时总会看高清电影,使用Win8系统更先进的功能来看,能有更好的体验,比如高速.流畅.但是如果要把电影这种大体积的文件转移,那就麻烦了,很花时间.其实,在Win8中,可以使用小工具"FastCopy"快速转移.如何操作呢? FastCopy,很形象的一个名字,让人望名知义,就是快速拷贝,它的主要特点如下: 1.完全支持拖曳操作,支持拖曳多个文件到来源中; 2.支持外壳整合,方便利用右键菜单直接复制文件; 3.支持三种不同的 HDD 模式; 4.内建多种人性化的操作模式; 5.支持

Win7下局域网大文件或多文件经常出现复制中断的解决方法

  你们在传送文件都是选择哪个方式?QQ互传.U盘拷贝还是其他什么方式,这两种方式虽然最为常见,但是也有弊端,利用QQ互传的话,第一传送的速度无法保证,一般较慢;第二就是两个电脑必须都登入QQ才能实现互传,但是如果只有一个账号就难以实现了.U盘传送相对较为繁琐,要拷贝复制.现在我们可以采用局域网传送,同时避免了上诉的两个问题.万一在传送大文件时出现中断肿么办呢?下面小编来为大家解答! 出现复制大文件时才出现中断的情况,大多是由于网络不稳定引起的,当然原因有多方面. 1.目标计算机网卡不稳定或网线

怎样让Win7系统复制大文件更加稳定可靠

Win7在复制大文件的过程中,相信很多朋友都有遇到系统突然崩溃的问题,这种情况出现时总会让很多人惊出一身冷汗,特别是程序显示"未响应"时,那真是一点补救的方法都没有,因此为了防止这种情况的发生,我们应当事先做一些工作,就可以巧妙避免系统崩溃了. 1.复制文件前,先关闭文件缩略图. 在Win7系统下,随便打开一个文件夹,在文件夹左上角"组织"按钮中找到"文件夹和搜索选项",然后点击进入窗口.再切换到"查看"选项卡中,在高级设置处