`

一个检测show128文件更新的shell脚本

阅读更多

一个检测show128文件更新的shell脚本
2004-04-23 15:18 pm
来自:Linux文档
现载:Www.8s8s.coM
地址:无名

证券公司的行情系统最重要的是 show128 库,这个库是上交所的行情。一般这个行情文件通过卫星发到证券公司的 Novell 行情服务器上。

Windows 客户端通过映射驱动器的办法取到这个库文件,我在 Windows 上安装 rsync 程序,侦听在 873 端口。在 Linux 上通过 rsync 脚本,不断去同步这个文件。

由于 crontab 的最小更新时间为一分钟,所以,rsync 的脚本采用死循环来实现。

获取 show128 的脚本如下:

while true
do
WEEK=`date +%w`
HOUR=`date +%k`
if [ $WEEK -ge 1 -a $WEEK -le 5 -a $HOUR -ge 8 -a $HOUR -le 16 ]
then
rsync -azv --exclude="GZLX.*" hq::dbf .
fi
done

程序判断每周一到五,每天 8:00 到 16:00 才同步。

运行时,采用 nohup .. & 的方式实现。

 

同步后需要检测文件的更新情况,我的脚本是这样的:

#!/bin/bash
#检测 show128 的更新速度
count=0
total=0
echo begin:0 >show128_counts.txt
while true
do
p_time=`ls -l SHOW128.DBF --time-style="+%H%M%S"|awk '{print $6}'`
# echo $p_time
sleep 9
c_time=`ls -l SHOW128.DBF --time-style="+%H%M%S"|awk '{print $6}'`
diff=`expr $c_time - $p_time`
if [ $diff -gt 0 ]
then
count=`expr $count + 1`
if [ $diff -gt 40 ]
then
diff=`expr $diff - 40`
fi
total=`expr $total + $diff`
avg=`expr $total / $count`
echo $count:$c_time:[$diff s][avg:$avg s] >> show128_counts.txt
fi
done

脚本采用了 ls 命令的 +FORMAT 格式获取文件的秒。
并用 expr 得到两个时间之间的差,但是在两个时间属于不同分钟的时候,由于百进位和 60 进制的差别,需要减去 40 秒。

本脚本即计算出文件的平均更新时间。

信息来源:http://linux.sheup.com/linux/linux5498.htm

分享到:
评论

相关推荐

    Git指令的Shell脚本

    Git指令的Shell脚本,能够快速便捷地管理Git库,包括添加修改、提交修改、显示库状态、推送到远程库、从远程库更新到本地、版本恢复等操作。 使用方法: 1. 在Linux系统中,将本文件放在Git库目录下,利用Shell运行...

    简易脚本实例带你了解Shell脚本

    在第二个脚本中,`ls -l`命令用于列出文件详细信息,`-S`选项按文件大小排序,`head -n 2`选取前两个结果,展示了如何找出目录中最大的两个文件。 4. **网络信息处理**: 第三个脚本通过`ifconfig`获取网卡信息,...

    利用shell脚本批量获取主机信息 IP地址 主机名 CPU型号 主频 核数 物理内存总大小 磁盘名称 容量

    本篇文章将详细讲解如何编写一个shell脚本来批量获取主机的IP地址、主机名、CPU型号、主频、核数、物理内存总大小以及磁盘名称和容量,并将其输出为CSV格式。 首先,我们需要了解在Linux中获取这些信息的命令: 1....

    Shell脚本例子集合

    这里我们探讨几个基本的Shell脚本例子,包括用户交互、参数处理、文件解压缩以及进度条模拟。 1. 用户交互脚本: 在`show_var.sh`这个例子中,脚本通过`while`循环不断请求用户输入数字,直到用户输入"end"为止。`...

    常用shell脚本,更加快捷的管理服务器

    shell 脚本是利用 Shell 的命令解释功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说 shell 脚本就是一系列命令的集合。Shell 可以直接使用在 win/Unix/Linux 上面,并且可以调用大量系统内部的功能来...

    Shell脚本中执行sql语句操作mysql的5种方法

    1、将SQL语句直接嵌入到shell脚本文件中 代码如下: –演示环境  [root@SZDB ~]# more /etc/issue  CentOS release 5.9 (Final)  Kernel \r on an \m    root@localhost[(none)]> show variables like

    shell脚本连接、读写、操作mysql数据库实例

    可以编写一个脚本来读取并插入数据: ```bash while IFS=',' read -r id name mark dept; do mysql -u $USER $DATABASE << EOF 2>/dev/null INSERT INTO $TABLE (id, name, mark, dept) VALUES ('$id', '"$name"'...

    超级运维的109个shell脚本合集

    ### 超级运维的109个Shell脚本合集概述 本文档汇集了109个实用的Shell脚本案例,旨在帮助系统管理员、运维工程师以及其他IT专业人士提高工作效率,实现自动化运维任务。Shell脚本是Linux及类Unix系统中的重要组成...

    shell脚本监控mysql主从状态

    Shell脚本用于监控MySQL的主从复制状态是一个实用的运维自动化工具,它可以帮助DBA和系统管理员确保数据库服务的高可用性和数据的一致性。本文将详细介绍在Linux环境下,如何使用Shell脚本检查MySQL主从状态,并在...

    Shell脚本实现监控MySQL主从同步

    Shell脚本监控MySQL主从同步是一个自动化脚本,该脚本能够检测MySQL数据库的主从复制状态,并根据状态发出警告。MySQL主从复制是一种数据备份的方法,主服务器会将数据变动复制到一个或多个从服务器,从服务器提供...

    华为光猫shell命令补全文件

    在华为光猫的环境中,这个文件可能包含了常用命令的缩写、完整的命令路径、以及相关参数的提示。使用这种补全文件,用户可以避免手动输入长命令,减少输入错误,提高工作效率。 华为光猫的Shell命令大致可以分为...

    CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中

    接下来,我们创建一个名为`AutoBackupToFtp.sh`的Shell脚本文件,放在`/root`目录下,其内容如下: ```bash #!/bin/bash # 定义变量 MYSQL_USER=root MYSQL_PASS=123456 MAIL_TO=xxxxx@gmail.com FTP_USER=ftpuser...

    实用的shell脚本,linux相关资源

    Shell脚本是利用Shell的命令解释功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。 Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来解释...

    批量转换目录下文件编码的shell脚本代码

    一例批量转换目录下文件编码的shell脚本代码。 需求描述:由于从window转linux过来,很多原来win下的gbk文件需要转换成utf8。 以下脚本仅判断非utf8文件转换成utf8文件,并且默认非utf8文件为gbk,如果文件类型不...

    利用Shell脚本实现远程MySQL自动查询

    第二个示例展示了如何使用Shell脚本来安全删除MySQL的二进制日志文件。日志文件通常用于数据库的备份和恢复,以及主从同步。然而,它们可能会占用大量磁盘空间,因此定期清理是有必要的。脚本首先获取当前主日志文件...

    Shell脚本中使用function(函数)示例

    Shell脚本函数支持参数传递,可以通过`$1`, `$2`等来访问这些参数,其中`$1`表示第一个参数,以此类推。 #### 三、示例分析 ##### 3.1 示例一:使用内置命令`tr`转换字符大小写 该示例展示了如何定义一个简单的...

    用shell写一个mysql数据备份脚本

    本文主要介绍如何使用shell脚本来实现MySQL数据库的自动备份,以及如何通过另一个脚本来定时清理旧的备份文件,以优化存储资源的使用。 首先,我们需要理解shell脚本的工作原理。Shell脚本是一种在Linux或Unix系统...

Global site tag (gtag.js) - Google Analytics