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

定时程序

    来源: 互联网  发布时间:2016-08-03

    本文导语:  本帖最后由 dayu8375 于 2010-02-05 11:27:31 编辑 想用SHELL写一个小程序达到以下目的: 1。每隔5秒查看目录下是否有文件(文件会不定时FTP到该目录下) 2。如果有文件则进行处理然后MV到另一个目录下 3。要定时运行如5:0...

本帖最后由 dayu8375 于 2010-02-05 11:27:31 编辑
想用SHELL写一个小程序达到以下目的:
1。每隔5秒查看目录下是否有文件(文件会不定时FTP到该目录下)
2。如果有文件则进行处理然后MV到另一个目录下
3。要定时运行如5:00-17:00
下面是我写的SHELL

INPATH="/usr/jltt/JLTT/yyyyyy"
PERPATH="/usr/jltt/JLTT/yyyyyyy"
INFILE=$INPATH"/*"
MYDATE=`date +%y%m%d`
cd $INPATH
while [ 1 ]
do
  DOCS=" "
  DOCS=`ls -l | awk '{print $8}'`
  if [ "$DOCS" ]
    then
    echo "anything in $INPATH"
    for INCOME in $DOCS
    do
      if [ ! -e $PERPATH"/"$MYDATE ]
      then
        mkdir $PERPATH"/"$MYDATE
        echo "mkdir"
      fi
      mv $INPATH"/"$INCOME $PERPATH"/"$MYDATE"/"$INCOME".B"
      echo "mv $INCOME"
      sleep 2
    done
  else
    echo "nothing in $INPATH"
  fi
  sleep 5
done

现在有几个问题
1。我想把SELL加到CRONTAB中执行,使可以在5:00开始执行,那结束怎么办呢?在SHELL里结束?
2。怎么才能知道SHELL是否正在运行呢?
3。如果意外结束掉了能否让SHELL自动运行起来?
4。这样一直运行的SHELL会不会对系统的稳定性产生影响?

|
1。我想把SELL加到CRONTAB中执行,使可以在5:00开始执行,那结束怎么办呢?在SHELL里结束? 
可以在脚本里写结束 取当前时间的H位 如果等于17就exit 0
2。怎么才能知道SHELL是否正在运行呢?
通过ps -ef | grep 脚本名 是一种方法 
3。如果意外结束掉了能否让SHELL自动运行起来? 
估计要用一个专门的shell脚本通过crontab执行 来定时检查该脚本是否已经停止
4。这样一直运行的SHELL会不会对系统的稳定性产生影响?
应该是不会 但是如果你的文件量特别大 而且size也特别大 这样就有点不好了

建议:
你不可以让脚本1分钟执行一次吗
这样可以通过crontab机制来调度的你的脚本 让他在5:00-17:00之内每分钟执行一次 
这样就不用考虑怎么退出 意外结束掉的情况 
当然 如果这样 就要加几句代码判断前一次执行是否已经结束的代码  

|
1。我想把SELL加到CRONTAB中执行,使可以在5:00开始执行,那结束怎么办呢?在SHELL里结束?
>>在shell中结束,crontab只控制启动
 
2。怎么才能知道SHELL是否正在运行呢?
>>ps查看进程,最好输出到日志
 
3。如果意外结束掉了能否让SHELL自动运行起来? 
>>自己在shell中ps检查,如果进程掉了,重新运行

4。这样一直运行的SHELL会不会对系统的稳定性产生影响?
>>不会

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • windows server2008上PowerBuilder程序系统错误解决方法
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 程序员的八种级别,你属于哪一级?
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • 在docker容器中通过apt-get安装新的程序
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以.
  • linux下通过crond实现自动执行程序
  • 我写了个linux下的网络程序,程序在多个电脑间通信,但是我没有多个电脑,怎么调试这样的程序啊?
  • http协议介绍,文件上传分析及程序举例
  • 在java控制台程序中,可以用System.exit(0);使用一个程序终止,那么在servlet中如何使一个servlet程序终止呢?
  • 程序员赚钱致富的6种方法
  • 程序调用脚本,脚本启动另一个程序,如何让原始程序彻底释放资源?
  • HASH查找的程序实现及性能分析
  • python计算程序开始到程序结束的运行时间和程序运行的CPU时间
  • 程序员为了健康必看!早晨空腹喝水,是对还是错?
  • linux下,一个程序如何向另一个程序发送消息,另一个程序如何接收


  • 站内导航:


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

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

    浙ICP备11055608号-3