在linux系统下需要设定定时任务
我们可以使用corntab来进行
* * * * * command -》crontab的定时任务的写法
例如我要在每45分钟执行一次python的文件,那么我可以这样写
45 * * * * python /User/***.py
具体的可以去查查时间的设定,其实就是在相应位置上的一个具有取值范围的数字
但是在这里我要写的不是怎么样去设定一个定时任务,而是当我在设定一个定时任务的时候,我发现corntab出现了错误,出现了command not found的问题了
首先,如果你没有屏蔽mail功能的话,当你的crontab出现了问题的时候,你的终端会提醒:you have mail
这个时候你可以在/var/mail/<username>里面查看到有个一你的用户名的东西
通过vim打开这个东西,你会看到里面比较详细的内容
然后发现,X-Cron-Env: <SHELL=/bin/sh>
。。。
主要的是你会发现这个:X-Cron-Env: <PATH=/usr/bin:/bin>
这就能解释为什么会出现command not found的问题了,主要是crontab使用的环境跟我们的用户环境是不一样的,所以crontab找的地方就不对。
其实网上有不少其他的解决办法,这里我说一个我的解决办法
就是直接在crontab的编辑下:即 crontab -e
然后直接在里面输入 PATH = <包含你的路径的输出路径>
然后我的crontab就可以正常执行了~~