我创建了这个bash脚本来生成我的EBS卷的快照
#! /usr/bin/bash ec2-create-snapshot -d "My Snapshot" vol-XXXXXXX -O <MyKey> -W <MyOtherKey>
当我在终端中运行这条线路时,它连接到服务器
bash myscript.sh
然后我创建了这个crontab
PATH=/bin:/home/usr/bin/bash:/usr/bin/bash 0 * * * * (bash ~/../bash/myscript.sh) #ALSO TRIED THESE LINES #0 * * * * ~/../bash/myscript.sh #0 * * * * (/usr/bin/bash ~/../bash/myscript.sh)
我在电子邮件中收到此消息
/home/ec2-user/../bash/myscript.sh: line 4: ec2-create-snapshot: command not found
我没有关于如何使这项工作的想法.问题似乎是当从crontab执行时,脚本找不到AWS API工具.
任何想法都将非常感激.
为清楚起见,这是最终工作的内容.谢谢你指点我正确的方向.
连接到服务器,然后键入echo $EC2_HOME并按Enter键.
然后键入echo $JAVA_HOME并按Enter键.
然后输入sudo find / -name“ec2-create-snapshot”(这个可能返回多个值)
记下每个返回的值.您将在一分钟内使用它们.
创建此bash脚本:
#! /usr/bin/bash export EC2_HOME=/your/ec2_home/path export JAVA_HOME=/your/java_home/path # Create an AWS Snapshot /path/to/your/ec2-create-snapshot -d "Your Snapshot Description" vol-yourvolid -O YOURPUBLICKEY -W YOURPRIVATEKEY
您应该能够通过在终端中键入bash yourscriptname.sh来执行此操作
然后使用contab -e打开你的cron并添加以下行:
* * * * * (bash ~/your/dir/yourscriptname.sh) #CREATE AWS Snapshot
希望这有助于某人.