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
复制代码

  我们把这个文件放到/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了

  还不会~~



本文转自郝峰波博客园博客,原文链接:http://www.cnblogs.com/fengbohello/p/4729886.html,如需转载请自行联系原作者


相关文章
|
17天前
|
存储 前端开发 Linux
Linux系统之部署ToDoList任务管理工具
【4月更文挑战第1天】Linux系统之部署ToDoList任务管理工具
61 1
|
18天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
72 1
|
3月前
|
存储 Linux Shell
Linux中的计划任务—Crontab调度一次性执行的任务at/batch
Linux中的计划任务—Crontab调度一次性执行的任务at/batch
118 0
|
3月前
|
Unix Shell Linux
在Unix/Linux操作系统中,Shell脚本广泛用于自动化任务
在Unix/Linux操作系统中,Shell脚本广泛用于自动化任务
26 2
|
4月前
|
Java Shell Linux
Linux【脚本 01】简单Shell脚本实现定时备份文件、压缩、删除超时文件操作(showDoc文件备份脚本举例)
Linux【脚本 01】简单Shell脚本实现定时备份文件、压缩、删除超时文件操作(showDoc文件备份脚本举例)
100 0
|
22天前
|
运维 监控 Linux
linux脚本自动化运维任务
Linux自动化运维通过脚本提升效率,涵盖服务管理(启停服务、异常恢复)、系统监控(资源警报)、日志管理(清理分析)、备份恢复、补丁更新、自动化部署(如Ansible)、网络管理、定时任务(cron)和故障排查。结合shell、Python及工具,形成高效运维体系。
20 3
|
23天前
|
监控 Linux 编译器
Linux C++ 定时器任务接口深度解析: 从理论到实践
Linux C++ 定时器任务接口深度解析: 从理论到实践
67 2
|
30天前
|
存储 缓存 Linux
linux 自动定时清理缓存
linux 自动定时清理缓存
25 0
|
Linux
探索Linux xargs命令:如何使用它来传递参数和执行任务
探索Linux xargs命令:如何使用它来传递参数和执行任务
18 1
|
2月前
|
关系型数据库 MySQL Linux
Linux环境下定时备份mysql数据库
Linux环境下定时备份mysql数据库