首页 > 其他分享 >关于crontab运行脚本时报错KeyError: 'PATH'

关于crontab运行脚本时报错KeyError: 'PATH'

时间:2023-10-17 11:12:02浏览次数:44  
标签:bin KeyError crontab cron sh usr PATH 日志

最近在服务器上为let's encrypt证书添加自动续签计划任务时,发现总是不成功,但手动执行该计划任务所对应的sh脚本则没问题,这让我怀疑crontab执行时可能缺少了点什么导致的,想追踪一下crontab的执行日志,发现并没有,需要手动修改配置文件打开:

sudo vim /etc/rsyslog.d/50-default.conf
cron.*  /var/log/cron.log #将cron前面的注释符去掉
sudo service rsyslog restart   #重启rsyslog
sudo service cron restart     #重启cron程度

启动后,查看发现计划任务执行了,但并没有错误日志,

 尝试手动为计划任务追加日志:

 运行后,发现日志文件确实有错误:

 代表crontab在运行时,没有读取到环境变量,为crontab添加环境变量:

crontab -e //编辑计划任务

SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin/:usr/bin 40 2 17 * * /usr/bin/sh /home/xxx/htdocs/www.xxx.com/crontab.sh>a.log 2>&1

再次触发计划任务后,发现已经执行成功,但不是立即成功,而是有个sleep时间,到了时间就会自动更新:

 完成!

标签:bin,KeyError,crontab,cron,sh,usr,PATH,日志
From: https://www.cnblogs.com/cx850116/p/17769232.html

相关文章

  • jsonpath模块的知识点总结
    jsonpath模块$表示根节点.表示子节点..表示内部任意位置1,如何通过jsonpath取json里面的值导入jsonpath模块:fromjsonpathimportjsonpathdict={"key1":{"key2":{"key3":{"key4":{"key5":"request"}}}}}#1,普通的提取方式print(dict[&......
  • ABC324F Beautiful Path
    给出一张DAG,每条边有两种边权\(b\)与\(c\),求一条从\(1\)到\(n\)的路径,问路径经过的边的\(\dfrac{\sumb}{\sumc}\)的最大值是多少。\(n,m\le2\times10^5\)。这不是经典01分数规划吗?将题目中的要求写成如下形式:\[\begin{aligned}&\text{Maximize}\dfrac......
  • Atcoder Beginner Contest 324 F Beautiful Path 题解-分数规划
    为了更好的阅读体验,请点击这里分数规划小技巧:尽可能将式子写成存在某种取值,使得不等式成立的形式。不然可能需要绕几个弯才能想出来。题目链接题目大意:给出一个DAG,每条边有一个\(b_i,c_i\),保证从编号小的边向编号大的边连边,且\(1\)到\(n\)必有路径,求\(1\)到\(n\)......
  • DropPath
    DropPath类似于Dropout,不同的是Drop将深度学习模型中的多分支结构随机“失效”而Dropout是对神经元随机“失效”DropPath在网络中的应用假设在前向传播中有如下的代码:x=x+self.drop_path(self.conv(x))那么在drop_path分支中,每个batch有drop_prob的概率样本在......
  • Windows宝塔面板出错了,面板运行时发生错误! KeyError: 'list
    先说办法就是回退,无论是Linux还是win这里就说win的办法1、先停止面板2、直接下载:https://dg2.bt.cn/win/panel/panel_7.7.0.zip3、解压4、覆盖panel5、启动解决 转自:【新提醒】【已完成】出错了,面板运行时发生错误!KeyError:'list-Windows面板-宝塔面板论坛(bt.cn)......
  • Servlet.service() for servlet [dispatcherServlet] in context with path []
    一个不小心出现的错误,接口测试报500日志输出信息如下:[nio-8080-exec-2]o.a.c.c.C.[.[.[/].[dispatcherServlet]:Servlet.service()forservlet[dispatcherServlet]incontextwithpath[]threwexception[Requestprocessingfailed;nestedexceptionisjava.lang.Nu......
  • DPDK-22.11.2 [四] Virtio_user as Exception Path
    因为dpdk是把网卡操作全部拿到用户层,与原生系统驱动不再兼容,所以被dpdk接管的网卡从系统层面(ipa/ifconfig)无法看到,同样数据也不再经过系统内核。如果想把数据再发送到系统,就要用到virtiouser。这种把数据从dpdk再发送到内核的步骤,就叫做exceptionpath。有关virtiouser,又有一......
  • Python爬虫必杀技:XPath
    XPath是什么XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。XPath基于XML的树状结构,有不同类型的节点,包括元素节点,属性节点和文本节点,提供在数据结构树中找寻节点的能力。跟BeautifulSoup4一样都是用来解析页面内容的工具,只......
  • 【分享】影刀使用xpath捕获指定的元素
    xpath捕获元素比较精准,前面也介绍了xpath的用法现在捕获社区里帖子详情页的标题//*[@class='discuss_detail_header___3LhnQ']/h1找到class是discuss_detail_header___3LhnQ的子元素h1获取文章内容//*[@id='w-e-textarea-1']找到id是w-e-textarea-1的元素获取元素......
  • Go - Finding the Shortest Path on a Graph
    Problem: Youwanttofindtheshortestpathbetweentwonodesonaweightedgraph.Solution: UseDijkstra’salgorithmtofindtheshortestpathbetweentwonodes.Dijkstra’salgorithmalsousesapriorityqueue,whichcanbeimplementedusingaminheap.......