2017-04-06 85 views
0

我没有cron.allow并且有一个空白的cron.deny文件。使用crontab运行作业时没有用户返回

我的crontab看起来象下面这样:

# .---------------- minute (0 - 59) 
# | .------------- hour (0 - 23) 
# | | .---------- day of month (1 - 31) 
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... 
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat 
# | | | | | 
# * * * * * user-name command to be executed 

# test entry 
* * * * * echo `who am i` > /home/2125/RR_Dev_Code/ETL/crontab.test 

但是,这是不是写用户测试文件。文件被创建,这意味着cron被我的用户触发。 当我从CLI执行who am i时,它返回一个有效的用户。

我在这里错过了什么吗?

+0

您是试图获取已登录用户的列表,或者您是否尝试获取运行cron作业的用户的名称?如果是后者,命令'whoami'可能会更好地服务于你的目的。 – Quietust

+0

其实我试着运行psql命令。但我继续得到一个错误:/home/2125/RR_Dev_Code/loader.sh:第4行:psql:命令未找到。因此,我正在尝试查看哪个用户cron正在执行脚本 – Tammy

+1

Cron作业不会自动获取用户特定的环境变量 - 请参阅http://stackoverflow.com/questions/2388087/how-to-get-get- cron-to-call-in-the-correct-paths获取更多信息。 – Quietust

回答

0

这里是我的建议

添加适当的记录,

* * * * * echo `who am i` 1> /home/2125/RR_Dev_Code/ETL/crontab.test.out 2>/home/2125/RR_Dev_Code/ETL/crontab.test.err 

然后看到文件的内容。它会告诉你确切的问题。 (顺便说一下,它应该是whoami而不是who am i

+0

该命令可以通过删除echo命令和反引号来简化。 – pcjr

+0

按照SO规则:我能够看到用户。原来的问题是无法为用户运行psql实用程序。我已经接受了答案,因为我在这个问题中从未问过这个问题。 – Tammy