看了很多博客,依旧没解决 “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
找到该定时任务,用井号#
注释掉这条定时任务即可,下次要用再取消注释。
https://blog.csdn.net/shGray/article/details/101350925
https://linux265.com/news/3099.html