Os binários da ferramenta aws cli são instalados em /usr/local/bin/aws
.
O erro que tive foi que o usuário do cron não pôde acessar /usr/local/bin/aws
durante a execução; só pode acessar /usr/bin/
O que eu fiz foi criar um link em /usr/bin
para aws com o comando abaixo.
root@gateway:~# ln -s /usr/local/bin/aws /usr/bin/aws
Também adicionei algumas alterações no meu script; aqui está uma função de amostra:
starter () {
echo "
==================================================
Starting Instance
==================================================
"
/usr/bin/aws ec2 start-instances --instance-ids $instance --region us-east-1
sleep 30
echo "Assigning IP Address "
/usr/bin/aws ec2 associate-address --instance-id $instance --region us-east-1 --public-ip XX.XX.XX.XX
}
E a entrada do cron:
30 5 * * * sh /usr/local/cron/magentocron.sh
Esse método funcionou para mim.