crontab怎么用

135 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

看了很多博客,依旧没解决 “crontab 怎么用?” 这一问题,也不知道怎么用crontab执行定时任务。本文默认Linux系统已安装cron,那么只需要用crontab -l 查看当前定义的crontab任务,然后依葫芦画瓢。然而,我还是理解错了。

一开始我是这样用的: 在命令行处执行

[user@localhost xxx]$ crontab 0 9 * * * nohup sh /home/xxx/main.sh

后来我是这样用的: 在命令行处执行

[user@localhost xxx]$ 0 9 * * * nohup sh /home/xxx/main.sh

最后问同事,人家说只需要在crontab -e里面编辑好就行,crontab会自动帮你执行命令。 好吧,我看了下当前的时间,把时间往后调整了3分钟,然后检查定时任务是否被执行。

[user@localhost xxx]$ crontab -e

按字母 I 进入 vim 工具的编辑模式,添加:

3 9 * * * nohup sh /home/xxx/main.sh

然后执行。

如何查看crontab定时任务是否已经执行??? 请在开启定时任务后的第一时间查看,可以看结果表,也可以看 shell 脚本执行的进程。命令如下:

# 查找所有Job
ps -ef|grep kitchen
# 查找所有Transformation
ps -ef|grep pan
# 过滤 xxx,在结果中去掉 `grep -v grep` 前面的 grep xxx 命令
ps -ef|grep xxx | grep -v grep
# 获取 xxx 的第二列
ps -ef|grep xxx | grep -v grep | awk '{print $2}'
  • crontab定时任务取的是什么时间 假设当前Windows本地时间是a,crontab所在服务器的时间是b

显示linux当前时间

date -R

crontab定时时间要比linux时间往后推迟5分钟

  • 停止定时任务 如果要停止crontab的某个定时任务,只需要crontab -e 找到该定时任务,用井号#注释掉这条定时任务即可,下次要用再取消注释。

blog.csdn.net/shGray/arti… linux265.com/news/3099.h…