crontab定时任务

在Linux系统环境中,使用crontab设置定时任务

* * * * * command(s)
^ ^ ^ ^ ^
| | | | |     allowed values
| | | | |     -------
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)

*: 星号操作符表示所有允许的值。如果在分钟字段中有星号,则表示任务将每分钟执行一次

#每天九点运行命令
0 9 * * *  command
#每5分钟运行命令
*/5  * * * * command
#每10分钟运行命令
*/10  * * * * command

这里记录下crontab的简单操作

crontab -l    #查看定时任务
crontab -e   #编辑定时任务 默认使用vim编辑方式

注意

1.语法问题

可能在保存时遇到下图所示问题,就是定时语法有问题,需要改正在这里插入图片描述

2.定时任务不成功

运行脚本的权限没有放开,需要:

chmod -777 文件名

####下面是个非常要注意的点!
命令有时也需要,用绝对路径。命令跟文件同时用绝对路径!!!!比如

#每分钟执行一下下面这个Python脚本
*/1 * * * * python3 /home/AI_server/xxx.py  #这样运行不成功!!
*/1 * * * * /home/buchou/miniconda3/bin/python3.9  /home/AI_server/xxx.py #这样就可以!!

3.同时执行多行命令

用的&& 比如
*/1 * * * * cat > sample.txt && /home/buchou/miniconda3/bin/python3.9  /home/AI_server/xxx.py

但是要注意,可能不是用的bash或者跟linux直接打开终端的环境不一样(本电脑默认conda的base)
譬如

conda activate base

可能执行不起来

4.log没用起来,后面需要再用

参考


版权声明:本文为weixin_41868417原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。