cloudmonkey与crontab?

时间:2014-07-09 03:44:39

标签: apache-cloudstack

我在这里有一个Cloudstack 4.2.1,并且希望我的VM能够在预定的时间从时间启动并关闭。 因此,我在想是否可以将Cloudmonkey与CronTab集成在一起。 首先,通过创建Cloudmonkey脚本或API调用,然后使用crontab在特定时间运行它。

但是我在创建Cloudmonkey脚本/ API调用时遇到问题......

我用Google搜索并找到了这个链接

http://dlafferty.blogspot.sg/2013/07/using-cloudmonkey-to-automate.html

并得到

的结果

apiresult = cloudmonkey api stop virtualmachine id="'e10bdf21-2d5c-4277-9d8d-791b82b9e3be'"

不幸的是,当我输入此命令时,没有任何反应。如果有人可以有替代建议或者说我的API调用命令错误,请纠正我并提供帮助 谢谢。

1 个答案:

答案 0 :(得分:0)

CloudMonkey在工作之前需要进行一些设置(例如设置API密钥)。 检查[1]以获取CloudMoney的文档,并按照“使用”部分设置环境。

一旦您的设置完成并且您可以通过CloudMonkey与CloudStack进行交互,您应该考虑到VM ID可能会发生变化,因此在您为VM发出命令之前,您应首先找到正确的ID,方法是列出虚拟机并选择正确的虚拟机。

此外,如果遇到问题,请从CLoudStack管理服务器发布相关日志(通常在/var/log/cloudstack/management/management-server.log中)。

[1] - https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+cloudmonkey+CLI

编辑:如果您通过CloudMonkey与CloudStack建立了有效连接,则需要在shell脚本中以相同的方式配置CloudMonkey。例如,当您配置CloudMonkey时,您可能设置了主机,端口以及api和密钥。因此,要使您的脚本工作,您需要在发出命令之前向CloudMonkey提供相同的配置。我最好的猜测是使用-c选项并提供配置文件来设置所有相关参数(例如api和密钥)。 cloudmonkey -c CONFIG_FILE ....

Edit2 :您实际上不需要在脚本中重新配置cloudmonkey,因为它会记住您在交互式会话中的配置。我仍然建议你这样做,因为你的脚本变得更可靠。我刚刚制作了一个这样的示例脚本:

#! /bin/bash
result=$(cloudmonkey list users)
echo $result

结果:

> ./tmp.sh
count = 1 user: id = 678e3a24-082c-11e4-86de-acbdb2423647 account = admin accountid = 678dffe6-082c-11e4-86de-acbdb2423647 accounttype = 1 apikey = T6sDBIpytyJ4_PMgNXYi8YgjMtwTiiDjijbXNB1J78EAZq2foKhCoGKjgJnej5tMaHM0LUvejgTddkhVU63wdw created = 2014-07-10T16:19:13+0200 domain = ROOT domainid = 678dd7b4-082c-11e4-86de-acbdb2423647 email = admin@mailprovider.com firstname = Admin iscallerchilddomain = False isdefault = True lastname = User secretkey = dzOPRecI5vvEVK7Vie2D0tDsQGXunUnpIAczbXnPI3sfMwQ-upWL_bPOisEYg4C-nXi-ldQno2KVZbVR-5NmVw state = enabled username = admin

也许你忘了echo结果了?