crontab gsutil 命令执行但没有输出

Posted

技术标签:

【中文标题】crontab gsutil 命令执行但没有输出【英文标题】:crontab gsutil command executes but no output 【发布时间】:2015-11-03 10:20:30 【问题描述】:
gsutil cp -r gs://mybucetid/stats/installs/installs_com.appdomain_YYYYMM_overview.csv /home/ubuntu/appstats

上面的命令从我的终端成功运行。该命令将统计文件从谷歌云复制到我的本地目录。

因此我尝试将上述命令放在 crontab 中。 下面是来自 crontab 的行

30 00 * * * gsutil cp -r gs://mybucetid/stats/installs/installs_com.appdomain_YYYYMM_overview.csv /home/ubuntu/appstats

cron 准时执行,没有错误(在 cron 日志中检查),但文件没有下载到指定位置)

谁能建议我,在 crontab 中,命令中缺少什么以及为什么文件没有从我的谷歌云存储桶复制到我指定的本地目录?

【问题讨论】:

你能确定HOME 环境变量被设置了吗?我之前已经看到这是一个问题。我怀疑您的命令实际上并未成功执行。 在 cron 下运行时未设置 HOME 环境变量,因此如果您的凭据在 ~/.boto 中,它们将不会被拾取。尝试设置 HOME=. 谢谢。 cron 正在做我需要的工作。我的 gsutil 在根目录中,所以我的 cron 无法执行 gsutil 命令。所以我只是改变了 30 00 * * * ~/gsutil/gsutil cp -r gs://mybucetid/stats/installs/installs_com.appdomain_YYYYMM_overview.csv /home/ubuntu/appstats 【参考方案1】:

简单更新 yyyyMM 到日期如下图所示

30 00 * * * gsutil cp -r gs://mybucetid/stats/installs/installs_com.appdomain_201710_overview.csv /home/ubuntu/appstats

【讨论】:

以上是关于crontab gsutil 命令执行但没有输出的主要内容,如果未能解决你的问题,请参考以下文章

管道 gsutil 输出到文件

谷歌云 gsutil 说明说更新但没有更新命令

在大文件上使用 rsync 的 gsutil int 错误

解决命令行执行shell脚本成功,但crontab执行失败

如何使用 crontab 执行 Symfony 命令

为啥 ssh 从 crontab 失败但从命令行执行时成功?