当前位置:  技术问答>linux和unix

unix 系统中,如何不断监控文件是否更新,一旦文件被更新,就把文件复制到另一个地方,如何实现

    来源: 互联网  发布时间:2015-11-20

    本文导语:  unix 系统中,如何不断监控文件是否更新,一旦文件被更新,就把文件复制到另一个地方,如何实现 比如:文件abc.tmp   一旦abc.tmp被某个程序修改,监控程序就把abc.tmp复制到另一个地方,怎么写shell,拜托。。。。。!...

unix 系统中,如何不断监控文件是否更新,一旦文件被更新,就把文件复制到另一个地方,如何实现
比如:文件abc.tmp   一旦abc.tmp被某个程序修改,监控程序就把abc.tmp复制到另一个地方,怎么写shell,拜托。。。。。!!!!!!!!!!!!!!!!!1

|
我有个思路,但是有点笨拙。
1.当前目录生成一个标志文件flag.txt。
  
  2.sleep(1)
  3.ls -t flag.txt abc.tmp| sed -n '1p' 的结果如果是abc.tmp,说明在这一秒内文件被修改.Y->4,N->6
  4.当前目录生成一个标志文件flag.txt。
  5.复制操作
  6.转2

因为我的系统没有stat可用,勉强用ls -t代替了。思路就是通过生成一个flag.txt和abc.tmp按时间进行比较。只要确定了abc.bmp被修改后,flag.txt又重新生成,那么它的修改时间就是最新的修改时间。还有一个前提就是,假设修改abc.bmp需要的时间至少在1秒以上。

|
可以借鉴一下watch程序,找找源代码。
有一个logrotate可以定期压缩log文件,比如当文件大于100k就压缩。但是不清楚能不能做到文件一改动就提醒。

此外有一个swatch你可以看看。

[转贴]
swatch 是一个实时的日志监控工具。您可以设置您所感兴趣的事件,它可以在事件发生的时候告诉您。Swatch 有两种运行方式:一种可以在检查日志完毕退出,另一种可以连续监视日志中的新信息。

Swatch 提供了许多通知方式,例如:email,振铃,终端输出,多种颜色等等。

您可以从下面的站点下载:
ftp://ftp.stanford.edu/general/security-tools/swatch/

swatch 的安装需要一些 perl 库的支持,安装前确信您的系统已经可以支持 perl。

Swatch 可以在命令行中进行一些简单的设置,例如日志循环时告诉 swatch 在循环完毕后重新启动等等。

配置文件 swatchmessage 是 swatch 软件的重点。这个文本文件告诉 swatch 需要监视什么日志,需要寻找什么触发器,和当触发时所要执行的动作。当 swatch 发现到与 swatchmessage 中定义的触发器正则表达式相符时,它将执行在 swatchrc 中定义的通知程序。Swatch 通过使用/usr/bin/tail -f 实时监视日志文件。

在这里我们不想过多的将如何配置,配置 swatch 非常简单,您可以参考 swatch 自带的配置文件。针对每个服务例如:ftp,sendmail 等等,你必须为每个您所关心的服务配置一个 swatchmessage 文件。

Swatch 启动时可以带很多参数,但使用通常如下格式启动它就可以了:

/usr/local/bin/swatch -c /var/log/syslogmessage -t /var/log/syslog -r 06:00&

-c 参数用于指定配置文件,-t 参数指定实时监视的日志文件,-r 指定重起的时间,"&" 使 swatch 在后台运行。启动后,swatch 产生子进程,因此 swatch 是以两个进程运行的,在停止 swatch 时必须杀掉两个进程。

也可以通过 logrotate 配置在日志循环后重起 swatch,可以在 /etc/logrotate.d 建立一个您所要关心的日志的循环文件,其中最关键的是要加入下面这行:

/usr/local/bin/swatch -c /var/log/syslogmessage -t /var/log/syslog -r + 0

其他的地方可以仿造别的同目录下的文件。

|
好像像是rsync的功能,定时rsync就是直接把目录中变化过的文件传过去,没变的文件就跳过。

|
rsync可能不合适:)楼主的要求实际是事件驱动的,用定时机制不一定能够满足需求。


|
ln 建个连接不行吗? 不需要copy.

|
我也想知道,最后给出具体的命令或脚本:)

|
不知道copy结束以后,系统能有什么事件过来
如果能截获这个事件这就好办了。
或者系统提供了一个可以挂钩子的地方,我觉得应该有的啊,要不系统也太不完善了点。
那种循环的做法还是不可取吧。

|
sun0591 说下解决方法,分享下

|
说把,咋这样D?~ 难得大家这么顶你

|
什么系统?linux有dnotify 。

    
 
 

您可能感兴趣的文章:

  • 小问题, Unix 如何建立一个文件 ,unix 文件有后缀名吗
  • .zip文件怎样在Unix下解压缩?.tar.tar文件怎样在Unix下解压缩
  • java中使用jxl生成excel文件,在unix中比在windows中明显慢,有高手知道原因吗?或者说unix和windows的文件系统哪个更快?
  • 各位兄弟帮忙,cut-ftp连接hp-unix,连接上了,但是unix上的文件不能显示,还能上传文件
  • 用oracle pl/sql 从A unix机器,去读取B unix机器上的一个文件,怎么实现?
  • 在 WINDOWS 2000 用 TELNET + IP 登录到 UNIX 中,怎样 GET UNIX 中的指定文件?
  • 在unix下如何拷贝文件?在windows下如何访问安装unix系统的硬盘?
  • UNIX怎样处理ASCII文件与文本文件
  • 新学者,各位不要吐血:哪儿有Unix的操作系统安装文件,我没有它的概念,我想学习之。Unix好神秘呀!
  • UNIX下how to 查找所有的文件夹下的文件?
  • 求助批处理实现dos -〉unix文件的转换,要将^M 替换为unix回车
  • unix下文件IO和dos下文件IO有什么区别?
  • 文件名为“apue.tar.Z”的文件在UNIX下怎么打开?大家帮帮忙
  • 谁有办法把一个原来是fat32的文件系统,被格式成为sco unix文件系统还原回来?
  • unix(IBM AIX)下怎么样删除文件名为e:bbbddd.dmp的文件啊?
  • UNIX中相当于WINDOWS中.bat文件的是哪种文件
  • Linix下编译生成的文件可以在本机器运行为什么不能在一Unix机器下运行。另外Unix下为什么没有make命令
  • hp-unix下,我用ftp软件打开hp-unix的时候目录不显示文件,我记得是用ROOT用户设置一下什么init.d什么的,但是忘记了,请知道的朋友指点!
  • 在unix下一个文件夹能包含多少个文件
  • 请问unix下修改文件和文件夹读写权限的问题
  • http://www.itpub.net 论坛更新数据库,速度更快,欢迎大家前去讨论unix&linux知识!
  • UNIX下看日志文件,怎样能实时更新查看。
  • unix系统下如何不卸载安装包,更新安装包信息。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • UNIX系统监控 Monit
  • 急求~unix下监控界面编程相关资料
  • Unix文件更改监控软件 JVerify
  • 请问,在unix中用C/C++写的监控程序有没有可以获得磁盘空间的函数?
  • 那位大哥有UNIX下监控指定文件的改动情况的源码?
  • 通过windows前台界面监控unix守护进程与守护运行的日志
  • java命名空间java.util.regex类pattern的类成员方法: unix_lines定义及介绍
  • 刚刚接触Unix系统和Unix编程。急需Unix下多线程程序设计和网络Socket程序设计方面的资料。
  • unix/Linux下c++ boost thread库读写锁介绍
  • 关于UNIX的历史 : 1973年,K.Thompson和D.M.ritchie,用C改写UNIX。那么,在此之前,UNIX是用什么写的?
  • php将标准字符串格式时间转换成unix时间戳_strtotime
  • 没有unix系统我如何学习unix
  • php将unix时间戳转换成字符串时间函数(date)
  • unix盘哪里有下载的??哪里有比较好的unix论坛??万分感谢!!!!!!!!!
  • unix/Linux下c/c++ pthread库读写锁函数介绍
  • 急!装完unix5.06,再装win2000。重启后不能进unix.
  • UNIX特急!!!digital unix问题,请专家快来!!!
  • UNIX支持中文否,请推荐UNIX好书
  • SCO UNIX 5.0用软盘启动之后无法启动UNIX
  • 散分!!unix 用户调查!!!你使用哪款unix
  • hp unix 和 sco unix的区别
  • 入门问题,我想向UNIX编程方向发展,单目前不会UNIX,我该如何做
  • 强烈建议将linux/Unix栏目放到“软件开发者”大类里面来。----Unix开发的人助威支持!!!
  • 现在那些unix比较流行?Linux和 Unix有 什么区别?
  • 我想学习Unix,请高手给个下载网址,用linux来学习Unix差别大吗?
  • 请问各位unix大虾,哪有免费的unix下载?
  • 学UNIX从SOC UNIX开始好吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3