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/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=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 command
17* * * * 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/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=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 command
17* * * * root cd / && run-parts --report /etc/cron.hourly
0
实例10:每星期六的晚上11: 00 pm重启smb
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=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 command
17* * * * root cd / && run-parts --report /etc/cron.hourly
1
实例11:每一小时重启smb
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=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 command
17* * * * root cd / && run-parts --report /etc/cron.hourly
2
实例12:晚上11点到早上7点之间,每隔一小时重启smb
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=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 command
17* * * * root cd / && run-parts --report /etc/cron.hourly
3
七、删除定时任务
输入-e打开执行命令之后输入进行编辑,直接删除需要删除的定时任务指令之后完成保存即可。
所属专题: linux系统
还木有评论哦,快来抢沙发吧~