crontab 是很常用的执行定时任务的命令,添加定时任务可以执行命令crontab -e 或者 vi /etc/crontab,然后编辑定时任务。
有时候执行crontab时会报错,最常见的就是说找不到第三方包,即NO such file。这时候首先要做的就是在crontab中加载source /etc/profile,这样crontab就可以使用已配置好的环境变量。如果还是报错,就要看下是哪些包不能被调用,假如报错内容为找不到python,那就which python,假如which python后目录为/home/python,那就在crontab中添加source /home/python.
大家可以看看下面这段代码:
46 09 * * * source /etc/profile && source /python_packages/dsdriver/db2profile && cd /HeatMap/ && /root/anaconda3/bin/python HeatMap_rtsp_linux_1.py >> /HeatMap/logs/log.txt 2>&1
代码解释:&& 前面和后面都表示一步操作,前面一步如果成功的话,则走后面那一步,*的位置填写日期时间,source是加载环境变量或者第三方包的安装位置,cd是进入脚本所在目录,然后是执行脚本,>>是追加的方式输出日志,2>&1可以让日志保留报错内容
有时候执行crontab时会报错,最常见的就是说找不到第三方包,即NO such file。这时候首先要做的就是在crontab中加载source /etc/profile,这样crontab就可以使用已配置好的环境变量。如果还是报错,就要看下是哪些包不能被调用,假如报错内容为找不到python,那就which python,假如which python后目录为/home/python,那就在crontab中添加source /home/python.
大家可以看看下面这段代码:
46 09 * * * source /etc/profile && source /python_packages/dsdriver/db2profile && cd /HeatMap/ && /root/anaconda3/bin/python HeatMap_rtsp_linux_1.py >> /HeatMap/logs/log.txt 2>&1
代码解释:&& 前面和后面都表示一步操作,前面一步如果成功的话,则走后面那一步,*的位置填写日期时间,source是加载环境变量或者第三方包的安装位置,cd是进入脚本所在目录,然后是执行脚本,>>是追加的方式输出日志,2>&1可以让日志保留报错内容