分页: 2 / 2

Re: ubuntu使用脚本调用脚本,并用cron做定时任务,为什么执行不了?

发表于 : 2013-04-05 19:58
needle
咦,你不是一直在用root用户操作吗?

原理如下:
确实,是环境变量的问题,
你用哪个用户可以运行成功,
就用哪个用户的cron
但cron只会使用非常有限的此用户的环境变量,不是此用户的完整环境。
所以在cron执行脚本时最常看到的就是导入PATH或者source ~/.profile;更好些。
这条su -lc ""能够执行是因为root切换到其他用户的完整shell环境,不需要输入密码。
:em11

Re: ubuntu使用脚本调用脚本,并用cron做定时任务,为什么执行不了?

发表于 : 2013-04-06 1:14
xsuii
needle 写了:咦,你不是一直在用root用户操作吗?

原理如下:
确实,是环境变量的问题,
你用哪个用户可以运行成功,
就用哪个用户的cron
但cron只会使用非常有限的此用户的环境变量,不是此用户的完整环境。
所以在cron执行脚本时最常看到的就是导入PATH或者source ~/.profile;更好些。
这条su -lc ""能够执行是因为root切换到其他用户的完整shell环境,不需要输入密码。
我之前是使用“sudo -s”进入root状态的,而且编辑shell和关联API都是在这种情况下进行操作的。这种情况不能算是root吗?
在网上查过说sudo是让普通用户使用root权限的工具。那么说这种情况下编辑的文件应该属于哪个用户呢?照理说我用“ls -l”查看文件属性是属于root的,但是按之前的状况来看,它并不能被root的cron执行。
大致明白了些,但是还有些模糊啊。 :em20
问题是解决了,但还有许多东西要理清。