Linux Crontab 定时任务

crond 服务

Linux 通过 crond 服务来支持 crontab。

查看 crond 服务是否已经安装

输入下面命令确认 crond 服务是否已安装。

复制代码
 systemctl list-unit-files | grep crond

如果为 enabled,表示服务正运行。

crontab 文件

crontab 要执行的定时任务都被保存在 /etc/crontab 文件中。

crontab 的文件格式如下:

通过 crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script 脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。

crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种,操作符有

  • * 取值范围内的所有数字
  • / 每过多少个数字
  • - 从X到Z:连字符 定义范围。例如,2000-2010 表示 2000 年至 2010 年期间的每年,包括 2000 年和 2010 年。
  • 散列数字:逗号 用于分隔列表。例如,在第 5 个字段(星期几)中使用 MON,WED,FRI 表示周一、周三和周五。

crontab 实例

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

复制代码
* * * * * myCommand

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

复制代码
3,15 * * * * myCommand

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

复制代码
3,15 8-11 * * * myCommand

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

复制代码
3,15 8-11 */2  *  * myCommand

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

复制代码
3,15 8-11 * * 1 myCommand

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

复制代码
30 21 * * * /etc/init.d/smb restart

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

复制代码
45 4 1,10,22 * * /etc/init.d/smb restart

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

复制代码
10 1 * * 6,0 /etc/init.d/smb restart

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

复制代码
0,30 18-23 * * * /etc/init.d/smb restart

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

复制代码
0 23 * * 6 /etc/init.d/smb restart

实例 11:每一小时重启 smb

复制代码
* */1 * * * /etc/init.d/smb restart

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

复制代码
0 23-7 * * * /etc/init.d/smb restart

crontab 执行shell脚本文件

timescan.sh为需要执行的脚本文件

$scantime为定时任务的时间设置

复制代码
#分钟 小时 日期 月份 星期几, 例:0 0 * * * 表示每天0时0秒

scantime="0 0 * * *"

#删除原有的计划
sed -i '/timescan.sh/d' /etc/crontab
#添加定时任务
sed -i '$a\'"$scantime root sh /usr/local/bin/timescan.sh" /etc/crontab 
相关推荐
翼龙云_cloud8 分钟前
阿里云国际代理商:Redis缓存实例配置和性能优化 从参数调优到持久化
运维·redis·阿里云·缓存·云计算
雨声不在12 分钟前
vm.mmap_rnd_bits 引发 ASAN CPU 100% 问题解析
linux·服务器·网络
tanglinS22 分钟前
双端面磨床汇总:面向工艺工程师的设备选型参考
大数据·运维·人工智能·自动化·材质
Fnetlink123 分钟前
Fnet 云网安 260807
服务器·网络·人工智能·安全·网络安全
湘美书院--湘美谈教育1 小时前
湘美书院人工智能访谈录:AI助力科学研究自动化
大数据·运维·人工智能·机器学习·自动化·电脑·生活
进击切图仔1 小时前
在 windows 和 ubuntu 中配置 host 文件
linux·windows·ubuntu
郭涤生1 小时前
C++ 零拷贝(Zero-Copy)
linux·开发语言·c++
weixin_445476681 小时前
LIMS 3.0 测试环境部署过程记录
linux·状态模式
AI 小老六1 小时前
Agent Runtime 如何用 Session、Memory、User Profile 和 Skill 实现外部学习
服务器·人工智能·学习·ai·架构·自动化
The Chosen One9851 小时前
【操作系统】操作系统引导、虚拟机、进程通信、信号
linux·运维·服务器·操作系统·虚拟机·信号