okass 在版块 IT技术 中回复了话题 Linux命令行操作基础 2年, 12个月前
3. 如何使用crontab 创建定时任务
在有些业务场景部署时需要创建定时任务,这里用Crontab命令来实现完成。Crontab的时间颗粒度可以精确到分钟,可以实现分钟、小时、日、月、周的任意组合。该命令适合对任务周期性有比较高要求的场合,比如定期分析系统日志、上报状态等。
Crontab的命令行格式
crontab [-u user] file crontab [-u user] [ -e | -l | -r ]
Crontab的命令行参数
-u user:用来设定某个用户的crontab服务;
file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
-i:在删除用户的crontab文件时给确认提示。
Crontab文件格式第1列分钟0~59
第2列小时0~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~7(0和7表示星期天)
第6列要运行的命令
Crontab文件创建以Ubuntu 18.04为例,创建一个Crontab文件,实现每天6点和18点定时重启系统,则输入Vim /etc/crontab
0 0 6,18 * * /sbin/reboot
更多使用样例
实例1:每1分钟执行一次myCommand
* * * * * myCommand每两分钟运行一次
*/2 * * * * 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保存后退出即可。
最后在线: 活跃于 6个月, 2周前
评论: 7
获赞: 0
文章: 0
粉丝: 68
关注: 68
好友: 8
User Rating: ( vote)