如果我從/home/<user>/<dir>/script.sh
運行腳本,以root身份cron的工作得很好。但是,如果我從/root/<dir>/script.sh
運行腳本(再次以root身份),cron似乎不起作用。的Cron不運行從/根
回答
我想你需要添加一些信息。我猜這是一個權限的事情。在你的crontab中添加文件,目錄和行的權限,這樣我們可以提供幫助。另外,如果你把它放在/ root中,你是否在root的crontab中運行它?
這可能是因爲你正在尋找腳本相對目錄/文件被從/家運行時,它位於/而不是從/根,因爲/根不是在/ home /根,也沒有它看起來像用戶homefolder在/ home/
你可以檢查,看看它是否正在尋找相關文件,或發佈的腳本?
另一個說明,爲什麼你不把它設置爲從用戶的homefolder運行呢?
記住環境 - 尤其是當cron
而不是root身份運行。當cron運行某些東西時,與通過at
運行命令不同,您的環境可能沒有太多設置。目前還不清楚你的當前目錄是什麼。因此,對於將由cron
運行的命令,請使用腳本(如您已經這樣做),並確保它設置足夠的環境以使其運行。並確保您的環境設置代碼不是交互式的!
在我的機器,我有這樣一個機制,cron的條目(例如)讀取:
23 1 * * 1-5 /usr/bin/ksh /work1/jleffler/bin/Cron/weekday
在Cron
目錄weekday
腳本是一個標準的腳本的鏈接,首先設置環境和然後運行命令/work1/jleffler/bin/weekday
(在這種情況下 - 它使用命令的名稱來確定要運行的內容)。
在Cron
目錄中的實際腳本是:
: "$Id: runcron.sh,v 2.1 2001/02/27 00:53:22 jleffler Exp $"
#
# Commands to be performed by Cron (no debugging options)
# Set environment -- not done by cron (usually switches HOME)
. $HOME/.cronfile
base=`basename $0`
cmd=${REAL_HOME:-/real/home}/bin/$base
if [ ! -x $cmd ]
then cmd=${HOME}/bin/$base
fi
exec $cmd ${@:+"[email protected]"}
我已經使用了一段時間了 - 這個版本自2001年 - 和它的作品一種享受我。我正在使用基本(Sun Solaris 10)實現cron
;在其他平臺上的cron
新版本中可能會有新功能,以使其中的一些不必要。 (該$REAL_HOME
的東西是我的怪事;假裝它說$HOME
- 儘管這使得一些腳本不需要你的。)的.cronfile
負責環境設置 - 它確實不少,但是這是我的問題,不是你的。
已經使用「的cron」相抵觸時,在過去的各種默認$路徑運行,我總是充滿了絕對的$ PATH拼寫爲每個可執行文件和每個目標文件。我總是假設'cron'沒有設置$ PATH,並且沒有當前工作目錄。
換句話說不要使用如下命令
"myprocess abc*.txt"
,但這樣做完全一樣
"/usr/localbin/myprocess /home/jvs/abc*.txt".
或者,創建一個bash腳本,做這項工作,並調用bash腳本具有完全絕對路徑,如
"/usr/local/bin/myprocess_abc_txts".
如果您需要在腳本中有一定的靈活性,請使用env在你用'cron'調用的bash腳本中專門設置的修飾變量。
另一種方式來運行sh腳本是將您的bash腳本在/usr/bin
目錄,並簡單地運行命令bash yourscript.sh
無需添加/usr/bin/
目錄
- 1. Cron xdotool不運行
- 2. 命令從命令行運行,而不是從cron運行?
- 3. bash腳本從命令行運行但不是從cron運行
- 4. python腳本不能從cron運行
- 5. 從cron-job.org運行JS
- 6. 從Cron運行Rails任務
- 7. 從cron運行sh文件
- 8. 從cron作業運行pandas.io.gbq
- 9. cron爲什麼不運行?
- 10. 從cron運行rethinkdb-dump的問題
- 11. 從一個cron作業執行/運行多個php cron腳本
- 12. 爲什麼我的命令行不能從cron運行?
- 13. cron運行不的NodeJS工作
- 14. 隨機cron運行
- 15. 用cron運行raketask
- 16. 運行Cron作業
- 17. 如何從cron運行的Perl腳本中運行shell腳本?
- 18. Shell腳本從命令行運行,而不是cron
- 19. bash腳本從殼運行,而不是從cron作業
- 20. 從瀏覽器運行cron作業
- 21. Rails3,從cron運行rake任務
- 22. 腳本運行良好時,從命令行運行,但不通過cron
- 23. Cron:每1秒運行一次cron?
- 24. 從shell腳本和cron運行腳本的不同郵件
- 25. 從不同的時區在CPanel上運行PHP CRON作業
- 26. Cron作業不運行php代碼
- 27. Cron運行但功能不工作
- 28. Cron不能正確運行shell腳本
- 29. Openshift cron不運行php文件
- 30. 不能運行Consolecommand和Cron標籤
沒有代碼它會得到難以;-) – 2009-02-28 21:42:37