Cron - gsutil没找到

Jus*_*ung 2 shell cron gsutil

gsutil已经安装在这里:

/usr/local/bin/gsutil
Run Code Online (Sandbox Code Playgroud)

我的crontab看起来像这样(我以root身份登录):

 */1  *  *  *  * /home/deploy/cron/job.sh >> /home/deploy/cron/test.log 2>&1
Run Code Online (Sandbox Code Playgroud)

job.sh:

#!/bin/sh
PATH="$PATH":/usr/local/bin/gsutil
now=$(date +"%m_%d_%y_%R");
cp /home/deploy/testfile.txt /tmp/testfile_$now.txt;
gsutil cp /home/deploy/testfile.txt gs://testbucket/testfile_$now.txt;

echo "saved file at $now";
Run Code Online (Sandbox Code Playgroud)

当我查看我的日志文件时,我看到:

/home/deploy/cron/job.sh: 5: /home/deploy/cron/job.sh: gsutil: not found
saved file at 07_20_15_13:03
Run Code Online (Sandbox Code Playgroud)

知道我做错了什么吗?

Alb*_*o C 9

遇到同样的问题,您需要在调用时指定完整路径gsutil.在你的情况下:

/usr/local/bin/gsutil/gsutil cp /home/deploy/testfile.txt gs://testbucket/testfile_$now.txt;
Run Code Online (Sandbox Code Playgroud)

  • 这个解决方案帮助我解决了这个问题,我想为其他人补充一点,如果你的 gsutil 路径不同,你可以运行“which gsutil”来获取正确的路径,使用该路径而不是 /usr/local/bin/ gsutil。 (2认同)