Linux下定时任务的设置入门

来源:互联网 发布:长隆集团 Java 编辑:程序博客网 时间:2024/05/22 05:59

一、创建shell文件
由于个人原因,偏向于先将定时执行的任务全部写到一个shell文件,然后在定时任务时,只需要执行该shell文件即可。

以下为shell文件示例,定时清理tomcat下的catlina.out文件

#!bin/shecho "开始清除catalina.out"cat /dev/null > /mnt/tomcat7/logs/catalina.outecho "成功清除catalina.out"

注意事项:
在编写shell文件的时候一定要注意,千万不要在pc上用记事本写保存成.sh文件,这样的shell文件在执行的时候将会出现不可预知情况。最好是copy一个能够成功运行的sh文件,如tomcat7/bin/startup.sh 将 #!bin/sh 以下部分全部删除,添加自己的内容

将shell文件copy到linux服务器,我存放的位置是 /home/auto_job

二、确定是否安装 crond服务
确认方法 service crond status
如果提示信息是:
crond: unrecognized service
则表示未安装,则需要按以下步骤安装,否则跳过该步骤

安装方法:
yum install vixie-cron
yum install crontabs

在弹出的对话框中选择 Y 即可

三、启动 crond 服务
crond 常用服务如下:
service crond start # 启动服务
service crond stop # 停止服务
service crond restart # 重启服务
service crond reload # 重新加载配置

四、配置crond配置文件 crontab 位置 /etc/crontab
我的配置如下:

SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# For details see man 4 crontabs# Example of job definition:# .---------------- minute (0 - 59)# |  .------------- hour (0 - 23)# |  |  .---------- day of month (1 - 31)# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat# |  |  |  |  |# *  *  *  *  * user-name command to be executed# 清除catlina.out 每天早上定时执行00  5  *  *  * root /home/auto_job/clear_catalina.sh

注意,除最后二行是我添加之外,其它均为自动生成

关于该配置文件的写法,网上有多种,上面只列举了一种,将在每天的5点,执行 /home/auto_job/clear_catalina.sh 文件

注意事项:
在编写 crontab 一定要注意文件未尾后的空格,切记,文件未尾一定不能有空格

原创粉丝点击