博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
at,crontab定时程序
阅读量:7105 次
发布时间:2019-06-28

本文共 1336 字,大约阅读时间需要 4 分钟。

介绍

程序员对于定时执行任务一定不陌生,很多任务为了减少对用户的干扰,如系统更新、维护、数据库结构变更等,通常会选择在凌晨进行。对于一些简单的无需人工照看的任务,就可以预先写好命令,并设定时间自动运行,然后就可以安心睡大觉了。

其他情况还有,可以预计的将来要做的操作,为了防止遗忘,先写好命令脚本,然后设置自动运行,就可以把这事从你的日程表里划掉啦。
下面进入正题。

一、at

1. 常用命令

基本用法:at [参数] [时间]

控制台读入任务完毕,ctrl+d结束。

参数 说明
at -l 或 atq 查看当前任务
at -d [任务id]或atrm 删除定时任务
at -c [任务id] 打印任务内容
at -f [文件] 从指定文件读入任务,而不是从控制台
2. 用法

时间的指定非常灵活,下面列举常用几种:

at 04:00
at 04pm
at noon
at now + 3min/minutes/hours/days/weeks
at 04pm + 20min
at today/tomorrow
at 7:30pm 2017-09-26

二、cron

定时任务命令crontab = chronos + table。chronos来源于希腊语,原意是时间

1. 常用命令
命令 说明
crontab -e 编辑定时任务,可以增加或删除。推荐
crontab -l 列出当前用户的定时任务
crontab -r 删除当前用户的定时任务
crontab [test.cron] 用test.cron(自己定义)覆盖定时任务文件 (不推荐)
2. 配置说明
img_e33c1c6c0f2a796557a3013a214d59f7.png

crontab -e的默认文件,对配置有了初步的说明,基本够用。下面通过示例形象说明:

指令 功能
*/2 * * * * echo 'holy shit' >> test.txt 每两分钟执行一次
20-40/2 * * * * echo 'holy shit' >> test.txt 20到40分钟,每两分钟执行一次
20-40/2, 50 * * * * echo 'holy shit' >> test.txt 20到40分钟,每两分钟执行一次,第50分钟也执行一次
0 3-5 * * * echo 'holy shit' >> test.txt 每天的3到5小时开始时执行一次
0 3-5 3,5,6 * * echo 'holy shit' >> test.txt 每月3、5、6号的3到5点开始时执行一次
3. 日志地址

一般情况下,crontab日志在/var/log/cron.log.

如果没有,那么就在/var/log/syslog,可通过下面命令查看cron日志:

grep cron /var/log/syslog

修改日志位置:

sudo vi /etc/rsyslog.d/50-default.conf#找到下面的line#cron.*                         /var/log/cron.log#去掉注释
sudo systemctl restart rsyslog#查看启动状态sudo systemctl status rsyslog

转载地址:http://bujhl.baihongyu.com/

你可能感兴趣的文章
让所有人都能看懂日志,解放开发
查看>>
url传值出现中文乱码的另类解决办法
查看>>
jdk、jre、spring、java ee、java se
查看>>
zabbix自动清理30天前的数据
查看>>
客户区和非客户区
查看>>
Android调用相册拍照控件实现系统控件缩放切割图片
查看>>
【转】Excel2010中绘制流程图
查看>>
"无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开"解决办法...
查看>>
【原】oracle11G AWR使用及分析
查看>>
<20190104>关掉一些鸡肋的Win10功能
查看>>
iOS网络篇4-利用NSURLConnection实现GET/POST/HEAD请求
查看>>
linux 环境下 eas console的运行
查看>>
Rainbows! 4.4.3 发布,修复 EventMachine 问题
查看>>
USACO翻译:USACO 2012 JAN三题(2)
查看>>
Java学习之IO流总结
查看>>
LightOJ 1038 Race to 1 Again
查看>>
php set_magic_quotes_runtime() 函数过时解决方法
查看>>
使用IDEA创建java项目(hello word)
查看>>
TCP/IP协议栈---网络基础篇(3)
查看>>
What the f*ck JavaScript?
查看>>