zoukankan      html  css  js  c++  java
  • Linux下定时执行任务的几种方式

      如果说我说如果,你的某一个目录下会经常的生成一些垃圾文件,比如访问日志、错误日志、core文件,而你又不想过几分钟就去手动检查一下,那么可以使用定时执行任务的方式来解决。目前我所知道的可以执行定时任务的方式有这么几种:crontab、后台脚本定时检查。
    下面对这几种方式进行一下讲解:


    1、使用脚本
      这个方式比较简单,就是写个脚本,每次开机的时候自动让它启动,然后放在后台去执行就可以了。脚本代码如下:

      $ cat cleanwitch.sh

     1 #!/bin/bash
     2 
     3 # which dir would you want to clean 
     4 # (please use absolute path like :
     5 # /a/b/c )
     6 # split with space
     7 #DIR_LIST="/root/temp /var/temp"
     8 PATH_LIST="/home/normal/temp /home/normal/var"
     9 
    10 # time : every (x) second 
    11 INTERVAL=3
    12 
    13 # file filter
    14 FILE_FILTER="core.*"
    15 
    16 function clearfile()
    17 {
    18     rm -rf ${FILE_FILTER}
    19 }
    20 
    21 while true ; do
    22     sleep ${INTERVAL}
    23     for WORKPATH in ${PATH_LIST} ; do
    24         if [ -n ${WORKPATH} ] ; then
    25             NOW_PATH=`pwd`
    26             cd ${WORKPATH}
    27             clearfile
    28             cd ${NOW_PATH}
    29         fi
    30     done
    31 done
    View Code

      我们把这个文件放到/usr/local/bin目录下,并且给可运行权限:

      $ chmod 755 cleanwitch.sh

    这样一个可以执行的脚本就写好了,但是还没有设置开机启动呢。设置开机启动的方式也比较简单,就是在/etc/rc.local这个配置文件下增加一句运行我们这个脚本的命令就可以了,增加的这句话如下:

      /usr/local/bin/cleanwitch.sh &

    为什么要在这句话后面加个&呢?因为在一个命令后面加上这个符号之后呢,这句脚本中运行的命令就会被放到后台作为一个服务去执行了。因为每次linux开机后都会去执行一次这个/etc/rc.local脚本,所以我们的清理脚本也会在开机的时候自动执行,并且每隔一段时间就会去执行我们让它做的事情。

      需要注意的是,不同的linux发行版中,rc.local的位置可能不同,不过基本都在/etc这个总目录下,如果实在找不到,可以使用下面的命令找一下:

      $ cd /etc/

      $ find -name rc.local

      如果要想停掉这个脚本怎么做呢?在命令行执行如下命令就可以了:

      $ killall cleanwitch.sh

    2、第二种方式就是使用crontab了

      还不会~~

  • 相关阅读:
    小水滴
    “星际穿越”观后感(宇宙只是界面,科技永远触摸不到世界的本原)
    惊涛怪浪(double dam-break) -- position based fluids
    [转]Data Structure Recovery using PIN and PyGraphviz
    [转]Adventures in Xen exploitation
    [转]iOS Tutorial – Dumping the Application Memory Part 2
    [转] Building xnu for OS X 10.10 Yosemite
    [转]iOS Tutorial – Dumping the Application Heap from Memory
    [转]Even when one byte matters
    [转]iOS IPC via NSFileCoordinator and NSFilePresenter
  • 原文地址:https://www.cnblogs.com/fengbohello/p/4729886.html
Copyright © 2011-2022 走看看