原创

Linux 定时任务计划


Linux 定时计划任务

1、安装 cron

Ubuntu:

sudo apt-get install cron

CentOS:

yum install crontabs

2、查看cron状态

Ubuntu:

service cron status

CentOS:

systemctl status crond

3、创建一个定时服务

定时任务有两种配置方式:

1、在/etc/crontab下设置,需要指定用户名

2、直接用crontab -e,不需要指定用户

crontab -e 

(当前用户)

如果是第一次使用,会让你选择一个编辑器,如下:

Select an editor. To change later, run 'select-editor'.

1. /bin/ed

2. /bin/nano        <---- easiest

3. /usr/bin/vim.basic

4. /usr/bin/vim.tiny

我个人习惯使用vim,所以选择3即可

然后是 编辑内容,如:

0 03 * * * bash /cgh/clearCache.sh

每天3点执行clearCache.sh脚本文件

*号位置含义
第一个一小时当中的第几分钟(分钟)
第二个一天当中的第几小时(小时)
第三个一月当中的第几天(天)
第四个一年中第几个月(月)

| 第五个 | 一周当中的星期几 范围0-7 ( 0和7都代表星期日) |

特殊符号说明

特殊符号含义
*表示任何时间,比如第一个*,表示一小时每分钟执行一次
,表示不连续时间,比如“0 8,10 * * * * 命令”,表示每天8点0分,10点0分执行一次命令
-表示连续的时间范围,比如“0 2 * * 1-6 命令”,表示周一到周六凌晨2点执行命令
*/n表示每隔多久执行一次,比如“*/10 * * * * 命令”,表示没10分钟执行一次命令

特定时间执行案例 在这里插入图片描述

4、重启服务

Ubuntu:

  sudo service cron restart

CentOS:

systemctl restart crond

5、常用

crontab -e 编辑或创建一个定时任务

crontab -l 查看当前用户的定时任务

crontab -r 删除当前用户的定时任务

6、crontab运行日志查看

有时候发现定时任务没有按预期执行,可以能过查看日志发现执行相关的问题。

一般来说 ,crontab的运行日志可以在/var/log/cron.log文件中。

如果没有/var/log/cron.log文件,试一下/var/log/cron

crontab为什么有时候找不到日志? 需要通过配置打开crontab的日志记录功能。

通过以下方式开启crontab的日志记录功能。

sudo vim /etc/rsyslog.d/50-default.conf
cron.*  /var/log/cron.log    #将cron前面的注释符去掉

sudo /etc/init.d/rsyslog restart #重启rsyslog
sudo service rsyslog restart     #重启rsyslog
sudo service cron restart        #重启cron程度

sudo service crond restart #重启crond。 在有的系统中,定时任务程序名称是crond 打开日志记录功能后,就可以看到相应的crontab的执行日志了。

教程