开发者社区> 问答> 正文

关于命令行工具CLI方面的问题~

我写了一个Shell脚本,这个脚本我是希望每隔一段时间监控服务器的状态的。在服务器没有正常运行的时候重新启动服务器;我手动运行这个脚本的时候,服务器的状态可以正常获取,也可以在服务器停的情况下启动服务器,但在放到crontab里就不行了。报说accesskeyid/accesskeysecret/regionId is absence。但这个我之前在服务器上配过了啊?
为什么手动运行脚本可以正常识别,在crontab里就不识别了呢,找不到AccessKeyID和AccessKeySecret?还需要在哪设置吗?  

展开
收起
劲捷网络 2016-12-02 14:22:33 4681 0
3 条回答
写回答
取消 提交回答
  • 回 2楼我的中国的帖子
    谢谢,我按您说的方法在脚本开头加了source /etc/profile。这个主要是导入环境变量吧,可是还是不行。
    本身单独手动执行这个脚本是没有任何问题的,
    但用crontab运行的时候就识别不到 AccessKeyID和AccessKeySecret了。
    这个信息是存在哪个文件里的?是不是也要导入到脚本内?

    您可以自己写一句简单的CLI命令到shell脚本里测试一下,手动执行是没有问题的,
    放到crontab里运行就不行了。不知道为什么找不到AccessKeyID和AccessKeySecret的信息。
    2016-12-02 15:47:29
    赞同 展开评论 打赏
  • R&S网络资深工程师 ,阿里云论坛官方版主,阿里云云计算ACP,春考教学网站长,IT技术晋级之路专辑作者
    回 楼主(劲捷网络) 的帖子
    导入环境变量

    有两种导入方法:

    1.在crontab -e编辑时加入

    . /etc/profile;/bin/sh #主要"."后要有个空格

    #例子
    0 12 * * * . /etc/profile;/bin/sh /your/sh/your_sh.sh
    2.在你要运行的脚本的开头加入

    source /etc/profile
    2016-12-02 14:57:25
    赞同 展开评论 打赏
  • Re关于命令行工具CLI方面的问题~
    可以参考云中沙箱实验“使用阿里云命令行工具AliyunCli管理云服务器ECS”
    2016-12-02 14:56:58
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
我的Docker:Docker插件机制详解 立即下载
我的Docker-Docker插件机制详解 立即下载
低代码开发师(初级)实战教程 立即下载