Linux下的定时任务调度器实现定时执行任务设置

主机推荐网 318 0

Linux定时任务是一种自动化工具,允许用户及系统管理员通过设定的预定时间内自动执行任务脚本、命令或程序。这些任务通常用于日常系统运维、数据备份、监控和报告等;也可以用于系统日志定时清理等,减小系统磁盘利用压力。本文主要介绍如何通过cron实现定时任务设置。

一、 使用

cron是一个Linux下的定时执行工具,是Linux系统中最常用的定时任务调度器。它允许用户在指定的日期和时间运行脚本和命令。

命令

用途

crond start

启动服务

crond stop

关闭服务

crond

重启服务

crond

重新载入配置

crond

查看服务状态

参数

说明

-u

定义用户 - 只有 root 才有权限执行这个任务,也就是帮其他使用者创建/移除 定时任务

-e

编辑用户的

-l

列出用户的

-r

删除用户的 - 移除所有 的内容,若仅要移除某一项,请用 -e 编辑

-i

删除前的-i提示

-n

设置集群主机运行用户的

-c

让主机在集群中运行用户的

-s

上下文

-V

打印版本并退出

-x

启用调试

二、格式

在文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令,每个域之间使用空格或者制表符分隔。

分钟

小时

日期

月份

命令

范围

0-59

0-23

1-31

1-12

0-7

echo "hello" >> abc.log

三、字符含义

符号

说明

*(星号)

代表任何时刻都接受

,(逗号)

代表分隔时段的意思

-(减号)

代表一段时间范围内

/n(斜线)

那个 n 代表数字,每隔 n 单位间隔

四、创建简单任务

每分钟输出一次当前的时间,输出到用户家目录下的 date.log 文件中。

# crontab -e * * * * * echo `date`>>/home/xxx/date.log

五、配置系统级别的定时任务

-e 是用来设置用户级别的定时任务的。

-l 是用来查看当前用户的定时任务的。

配置系统级别的任务直接使用root 权限编辑系统级别定时任务的配置文件: /etc/。

SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root# For detailssee man 4 crontabs# Example ofjob definition:# .---------------- minute (0 - 59)# |  .------------- hour (0 - 23)# |  | .---------- day of month (1 - 31)# |  | |  .------- month (1 - 12) ORjan,feb,mar,apr …# |  | |  |  .---- day of week (0 - 6) (Sunday=0 or 7) ORsun,mon,tue,wed,thu,fri,sat# |  | |  |  |# *  * *  *  * user-name command to be executed# m h dom mondow user    command17*    *      *      *    root   cd / && run-parts --report /etc/cron.hourly

六、实例

实例1:每1分钟执行一次

* * * * * /home/***/myScript.sh

实例2:每小时的第3和第15分钟执行

3,15 * * * * /home/***/myScript.sh

实例3:在上午8点到11点的第3和第15分钟执行

3,15 8-11 * * * /home/***/myScript.sh

实例4:每隔两天的上午8点到11点的第3和第15分钟执行

3,15 8-11 */2 * * /home/***/myScript.sh

实例5:每周一上午8点到11点的第3和第15分钟执行

3,15 8-11 * * 1 /home/***/myScript.sh

实例6:每晚的21:30重启smb

30 21 * * * /etc/init.d/smbrestart

实例7:每月1、10、22日的4: 45重启smb

45 4 1,10,22 * * /etc/init.d/smbrestart

实例8:每周六、周日的1: 10重启smb

10 1 * * 6,0 /etc/init.d/smbrestart

实例9:每天18: 00至23 : 00之间每隔30分钟重启smb

SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root# For detailssee man 4 crontabs# Example ofjob definition:# .---------------- minute (0 - 59)# |  .------------- hour (0 - 23)# |  | .---------- day of month (1 - 31)# |  | |  .------- month (1 - 12) ORjan,feb,mar,apr …# |  | |  |  .---- day of week (0 - 6) (Sunday=0 or 7) ORsun,mon,tue,wed,thu,fri,sat# |  | |  |  |# *  * *  *  * user-name command to be executed# m h dom mondow user    command17*    *      *      *    root   cd / && run-parts --report /etc/cron.hourly0

实例10:每星期六的晚上11: 00 pm重启smb

SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root# For detailssee man 4 crontabs# Example ofjob definition:# .---------------- minute (0 - 59)# |  .------------- hour (0 - 23)# |  | .---------- day of month (1 - 31)# |  | |  .------- month (1 - 12) ORjan,feb,mar,apr …# |  | |  |  .---- day of week (0 - 6) (Sunday=0 or 7) ORsun,mon,tue,wed,thu,fri,sat# |  | |  |  |# *  * *  *  * user-name command to be executed# m h dom mondow user    command17*    *      *      *    root   cd / && run-parts --report /etc/cron.hourly1

实例11:每一小时重启smb

SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root# For detailssee man 4 crontabs# Example ofjob definition:# .---------------- minute (0 - 59)# |  .------------- hour (0 - 23)# |  | .---------- day of month (1 - 31)# |  | |  .------- month (1 - 12) ORjan,feb,mar,apr …# |  | |  |  .---- day of week (0 - 6) (Sunday=0 or 7) ORsun,mon,tue,wed,thu,fri,sat# |  | |  |  |# *  * *  *  * user-name command to be executed# m h dom mondow user    command17*    *      *      *    root   cd / && run-parts --report /etc/cron.hourly2

实例12:晚上11点到早上7点之间,每隔一小时重启smb

SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root# For detailssee man 4 crontabs# Example ofjob definition:# .---------------- minute (0 - 59)# |  .------------- hour (0 - 23)# |  | .---------- day of month (1 - 31)# |  | |  .------- month (1 - 12) ORjan,feb,mar,apr …# |  | |  |  .---- day of week (0 - 6) (Sunday=0 or 7) ORsun,mon,tue,wed,thu,fri,sat# |  | |  |  |# *  * *  *  * user-name command to be executed# m h dom mondow user    command17*    *      *      *    root   cd / && run-parts --report /etc/cron.hourly3

七、删除定时任务

输入-e打开执行命令之后输入进行编辑,直接删除需要删除的定时任务指令之后完成保存即可。

所属专题: linux系统

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~