AnP*_*ile 28 shell cron amazon-s3
所以我每天都有一个脚本从AWS下载文件并将其附加到电子表格中.要做到这一点,我已经建立了一个cronjob.
我手动运行时脚本工作正常,但从cronjob运行时不起作用.
代码有一行:
aws s3 cp s3://My/files/backup/ ~/home/AnPoc/ --recursive --exclude "*.tgz" --include "*results.tgz"
Run Code Online (Sandbox Code Playgroud)
在我收到的cronjob执行的电子邮件中,我看到以下错误消息:
./AnPoc/DayProcessing.sh: line 14: aws: command not found
Run Code Online (Sandbox Code Playgroud)
我不知道为什么命令没有找到.任何帮助都会很棒.
cha*_*aos 42
第一步:检查系统aws
中存储可执行文件的位置.使用此命令:
$ which aws
/usr/bin/aws # example output, can differ in your system
Run Code Online (Sandbox Code Playgroud)
现在,$PATH
在脚本之前放置一个在crontab中调用的变量:
PATH=/usr/bin:/usr/local/bin
Run Code Online (Sandbox Code Playgroud)
那些路径由:
define 分隔,应该搜索exectable.在上面的例子中,它是/usr/bin
.您必须检查cron作业中可用的所有可执行文件.
另一件事:尝试避免~
在cronjobs中使用波浪号()的路径.请/home/user
改用.
小智 8
将此代码放在要在 crontab -e 中执行的命令行之前
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13647 次 |
最近记录: |