AWS CLI - 不在 crontab 中工作

AWS CLI - 不在 crontab 中工作

aws --version我可以在脚本和 cli 中运行该命令。但如果我将此命令放入 crontab 中,它就不起作用。

定时任务:

50 12 * * * aws --version > ~/yolo.swag

错误:

/bin/sh: 1: aws: not found

aws 命令位于 bash 脚本中。当我在 cron 中运行脚本时,我收到相同的错误消息。如何让脚本正常运行命令?

答案1

您需要指定aws可执行文件的完整路径:

50 12 * * * /usr/local/bin/aws --version > ~/yolo.swag

答案2

将此代码放在要执行到 crontab -e 的命令行之前

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

答案3

问题是登录环境和cron运行的环境不一样。所以基本上环境没有设置,即所有rc文件、别名、用户定义的函数在运行时都不存在于 cron 中。

一种解决方案是获取设置所需路径和别名的 profile/rc 文件。

 * 5 * * * * $HOME/.profile; $HOME/.bashrc ; <your command>

相关内容