首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用Gradle与Cron Ubuntu

问无法使用Gradle与Cron Ubuntu
EN

Unix & Linux用户
提问于 2020-12-13 04:06:18
回答 1查看 140关注 0票数 0

我有这份报告,但我不明白为什么它不认识gradle命令..。我是新来的,谢谢你的帮助!

代码语言:javascript
复制
From ubuntu@vps-a29e040b.vps.ovh.net  Sun Dec 13 04:02:01 2020
Return-Path: 
X-Original-To: ubuntu
Delivered-To: ubuntu@vps-a29e040b.vps.ovh.net
Received: by vps-a29e040b.vps.ovh.net (Postfix, from userid 1000)
    id EF0278157A; Sun, 13 Dec 2020 04:02:01 +0000 (UTC)
From: root@vps-a29e040b.vps.ovh.net (Cron Daemon)
To: ubuntu@vps-a29e040b.vps.ovh.net
Subject: Cron  ./myscript.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Cron-Env: 
X-Cron-Env: 
X-Cron-Env: 
X-Cron-Env: 
Message-Id: <20201213040201.EF0278157A@vps-a29e040b.vps.ovh.net>
Date: Sun, 13 Dec 2020 04:02:01 +0000 (UTC)

TERM environment variable not set.
./myscript.sh: line 4: gradle: command not found
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-12-13 12:30:29

cron相当容易使用,但它有一些您应该注意的特性。以下是一个简短的总结:

1. cron作业具有不同的环境(

)

cron作业运行的环境与交互式shell不同。这条路是环境的一部分。这可能是问题的原因:gradle的路径可能不在cron使用的路径中。这可能会导致任何cron作业的问题。

解决方案:通常可以通过对所有命令使用完整路径规范来解决这一问题。而不是这样:

代码语言:javascript
复制
0 2 * * * gradle 

用这个:

代码语言:javascript
复制
0 2 * * * /full/path/to/gradle

2. cron不了解资源可用性

在尝试运行作业之前,cron不会验证运行作业所需的资源是否可用。在启动时(即使用cron工具)运行D14作业时,通常会遇到这种情况。这种情况的一个例子是在启动时运行的作业&需要访问网络资源。

解决方案:通常通过在作业之前添加sleep X命令来解决此问题:

代码语言:javascript
复制
@reboot ( /bin/sleep 30; /home/myhome/myprog.sh )

3. cron作业中的运行时错误不报告

cron无法访问您的终端,所以stderr转到/dev/null。如果您想看到错误(而且您总是这样做!),您只需要将stderr重定向到一个文件--这是一种方法:

代码语言:javascript
复制
0 2 * * * /home/myhome/dosomething.sh > /home/myhome/cronjoblog 2>&1

这将将所有stdout (1)重定向到/home/myhome/cronjoblog,并将stderr (2)重定向到stdout (2>&1)。所有输出都进入您的cronjoblog文件。

再读cron

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/624219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档