2017-04-06 84 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