bash – 在CentOS 6.4下运行但不执行命令

前端之家收集整理的这篇文章主要介绍了bash – 在CentOS 6.4下运行但不执行命令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经从EPEL存储库安装了incron(在你问之前;是的,我也尝试下载源代码并在本地编译;结果相同)并且我试图在我的CentOS 6.4(最终)虚拟盒上设置一个我成功原型的过程在我当地的Ubunto 12.04机器上:

预先提供的一些信息:

> SELinux设置为PERMISSIVE
>我已经使用visudo向NOPASSWD添加了我的脚本并调用了可执行文件解决一些权限问题…

如果我使用sudo /path/to/my/script.sh参数从命令行调用我的脚本,它就像一个魅力.

sudo service incrond status验证incrond正在运行. root和myusername被添加到/etc/incron.allow,/etc/incron.deny为空.

我对root的incrotab是:

/path/to/dropfolder/ IN_CLOSE_WRITE sudo /path/to/my/script.sh $@/$#

/ path / to / dropfolder /中的事件导致完全没有发生.没有生成日志,没有消息,文件夹中的文件也没有动作.

所以我研究过:有人建议cron在最小的环境中运行,并且要执行复杂的命令/脚本,你可能必须执行.bashrc和/或在cron命令的开头导出你的PATH.

注意:我找不到支持incron也在最小环境中运行的文档,但是由于我的google-fu(和bing-fu!)未能导致任何与incron直接相关的有用结果,我认为WTH,我会尝试!

编辑:文档表明从系统表或root运行的incron从其主机环境中获取env,因此只有非root用户执行的incron应该需要任何类型的env或PATH fiddling

所以… incrontab for root:

/path/to/dropfolder IN_CLOSE_WRITE . /home/myusername/.bashrc; export PATH=$PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin; sudo /path/to/my/script.sh $@/$#"

没有骰子……试过&&代替 ; =没有骰子.如果你能想到上面的变化,我可能已经尝试过了……

所以,让我们尝试一点redecond -R /usr/sbin / incrond / etc / incron *动作!
嗯,也没有变化.
service incrond stop然后是service incrond start然后service incrond restart … nope,nope和nope.

严厉的措施:yum删除incron和yum install incron,chkconfig incrond on然后好的措施sudo重启!

没有.

我甚至没有得到/ tmp / IN_ALL_EVENTS echo boo>> /home/myusername/boofile.txt中的任何内容,因此我甚至无法使用env>> envfile.txt来检查incron是否在稀疏环境中运行……(见上文)

然而:服务incrond状态yield incrond(pid xxxx)正在运行…

我错过了什么?它必须是大而明显的,我希望有人可以让我觉得自己像一个短暂的白痴!

进一步检查/ var / log / cron产生如下结果:8月14日15:05:30 hostname incrond [1584] 原文链接:https://www.f2er.com/bash/384860.html

猜你在找的Bash相关文章