Linux中的定时任务:
定时任务是指,系统在某个特定的时间来执行特定的命令或程序。
定时任务主要分成两种:
- 系统定时任务:有些系统工作需要定期的在系统上进行,例如病毒扫描,安全漏洞检测,系统更新检测等等。
- 个人用户定时任务:个别用户希望在电脑上定期执行某些程序或脚本,例如备份数据库等操作。
crontab指令:在Linux中我们常用crontab指令来设置一些定时任务,以便减少重复性的人工作业。
cron表达式
cron表达式是一个字符串,一般由5位组成,是用来在Linux的一些定时任务中声明定时任务执行时间/计划的一种表达式,如: */1 * * * *
注:cron表达式,每一位代表的含义如下
【1】1小时中的第几分钟,[0-59], */n 表示每隔几分钟
【2】1天中的第几个小时,[0-23], */n 表示每隔几小时
【3】1个月中的第几天,[1-31], */n 表示每隔几个月
【4】1年中的第几个月,[1-12], */n表示每隔几年
【5】1周中的星期几,[0-7], 0和7均代表周日。
例: * 12 * * 1 // 每周一的12点。
crontab 指令:
crontab指令是用来管理Linux中定时任务的指令。
如何创建定时任务:
Linux中定时任务起是也是通过文件来进行管理的,打开一个终端,执行crontab -e,这时终端上就会进入到一个类似vi的文本编辑器中,用户通过编辑该文件来配置定时任务。
如何配置定时任务:
在执行 crontab -e后出现的文本编辑器中,点击i进入insert模式下,加入一行文本,在该文件中,每一行文本代表了一个定时任务,定时任务定义的格式如下:
cron表达式 + 要执行的命令或者要运行的脚本:
例:
【1】/1 * * * * echo “HelloWorld” >> /home/HowarWu/crontabTest.txt // 每分钟执行一次 echo “HelloWorld” 并将输出追加到 /home/HowarWu/crontabTest.txt 中。
【2】/1 * * * * sh HelloWorld.sh //每分钟执行一次HelloWorld.sh脚本。
定时任务配置完成后,ESC退出编辑模式,:wq!保存并退出。
这时可以在终端上看到:
表示定时任务已经创建完成。
如何查询当前用户有哪些定时任务:
crontab -l 可以列出当前用户的定时任务信息:
定时任务创建成功后,可以进入/home/HowarWu 下查看crontabTest.txt 来检验定时任务的执行情况:
可以看到定时任务已经成功被执行了数次(1分钟一次)。
如何删除crontab文件内容:
crontab -r ,执行后即可清空当前用户的所有定时任务。