从cron运行时出现curl错误56(接收网络数据失败)

83qze16e  于 2022-11-13  发布在  其他
关注(0)|答案(2)|浏览(118)

我有一个bash脚本,它使用curl来检索一个文件。当我从交互式bash shell运行它时,它运行得很好,但是当我用cron运行该脚本时,curl失败,退出代码为56(接收网络数据失败)。我还收到一条错误消息

curl: (56) SSL read: errno -5961

有什么想法吗?
Crontab条目:

57 21 * * * /opt/tltutilities/lss/bin/get_hosts.sh 2>&1 | /bin/mail -s "get_hosts.sh" me@addr.edu

Bash脚本:

#!  /bin/bash
BASEDIR=/opt/tltutilities/lss
cd $BASEDIR/bin
curl -v -o /opt/tltutilities/lss/tmp/etc_hosts https://remote_host.edu/pub/hosts/hosts
rc=$?
if [ $rc -ne 0 ]
then
  errmsg="curl: can't get hosts file: `grep \"^$rc \" curl_error_codes.txt`"
  echo $errmsg
  echo "$errmsg" | /bin/mail -s "get_hosts.sh failed with curl error $rc" me@addr.edu
fi
5sxhfpxr

5sxhfpxr1#

需要定义/导出https_proxy环境变量,该变量未在cron提供的环境中设置。

nvbavucw

nvbavucw2#

从那里获取文件的服务器响应mTLS/https(可信)连接,而cron似乎没有提供。

相关问题