2015-04-02 41 views
0

我有一个cron作业,由用户每天运行一次,名为“taskmanager”,每次都需要重置一个配置。yum在cron上重新安装不起作用

用户任务管理器有NOPASSWD上的/ etc/sudoer

我也有,我做了我配置的RPM的私人仓库。每当我跑了bash脚本手动-y完美的作品,但是当该脚本由cron退出代码跑是1百胜,手动执行的退出代码返回0

/usr/bin/sudo /usr/bin/yum -y reinstall --disablerepo="*" --enablerepo=codevault project-configuration 
    echo $? 
+0

使用'#!/ bin/bash'作为第一行。 – Cyrus 2015-04-02 04:38:06

+0

我的脚本有shebang#!/ bin/bash @Cyrus – lloydm2 2015-04-02 05:05:58

+0

作为哪个用户运行你的cronjob?根不需要sudo或不允许使用sudo。 – Cyrus 2015-04-02 07:56:22

回答

0

你的cronjob没有按;吨有环境正确设置 - 可能是缺少的环境变量。

在cronjobs中运行的任务不会选择用户的环境,只是权限。所以你的用户有权限运行这个命令(你的sudoers文件可能没问题),但是没有设置命令正确运行所需的一些环境变量。

要弄清楚什么,看看cron的输出 - 你可能有邮件。一旦你确定了缺失的变量,你可以在你的cron文件中设置它various ways