回答
在Vixie cron中,這可能是最常見的,你可以這樣做幾乎就像一個shell腳本。
VARIABLE=value
PATH=/bin:/path/to/doathing
0 0 * * * doathing.sh $VARIABLE
手冊頁說:
在一個crontab的有源線將是要麼是一個環境設置或cron命令。環境設置的形式爲,
name = value
其中圍繞等號(=)的空間是可選的,並且在值的任何後續的非前導空格將被分配給 名稱值的一部分。值字符串可以放在引號中(單或雙,但匹配)以保留前導空白或尾隨空白。名稱 字符串也可放置在引號(單或雙,但匹配)以保留前導,尾隨或內部空白。
你可以通過檢查crontab
的手冊頁來判斷你是否有Vixie cron;作者將是Paul Vixie。不同的cron可能會也可能不會支持這個(BusyBox的cron,例如,不),在這種情況下,您最好的選擇是將您的命令包裝在shell腳本中,然後從cron運行該腳本。事實上,對於任何複雜的事情來說,這是一件好事。
我不是一個unix傢伙,所以我不能說任何明確的,但這聽起來像一個預處理器步驟的好地方。
#define cmdpath /usr/bin/myfolder/cmd
0,30 8-17 * * 1-5 cmdpath
17 3 * * 1 cmdpath
運行,通過我的C++編譯器的預處理器提供瞭如:
0,30 8-17 * * 1-5 /usr/bin/myfolder/cmd
17 3 * * 1 /usr/bin/myfolder/cmd
這似乎是你想要什麼。
當你只有一把錘子時,每個問題看起來都像一個釘子。 – 2010-09-03 20:45:33
用crontab -e編輯crontab的過程相對簡單,只需要編輯你的crontab,調用cpp,然後用crontab安裝新的crontab $ filename – mkb 2010-09-03 20:50:01
@Matt:a)這就是shell腳本for和b),但是'crontab -e'沒有做到他想做的事情,所以這不是一個真正的答案。 – 2010-09-03 20:54:00
你可以把環境變量放在crontab中。有關更多詳細信息,請參閱手冊頁crontab(5)
。
- 1. crontab的ENVIROMENTAL變量
- 2. 瞭解crontab中變量的可用性
- 3. Crontab中的變量亞馬遜Linux
- 4. AWS EC2上的Crontab和$ _SERVER PHP變量
- 5. Crontab:訪問BASH內部變量
- 6. 在solaris crontab上設置環境變量
- 7. Crontab不更新.txt文件中的變量
- 8. CRONTAB腳本改變
- 9. 如何使用Chef在crontab中設置環境變量?
- 10. 在crontab中連接變量將不起作用
- 11. 如何在crontab中使用變量作爲執行時間
- 12. sed的crontab中
- 13. crontab中的Gnumake
- 14. MacOSX中的crontab
- 15. Plesk中的Crontab
- 16. crontab中的htaccess
- 17. crontab中
- 18. 使用crontab的工作,修改全局環境變量
- 19. crontab的不crontab -e命令
- 20. 通過shell腳本通過crontab傳遞變量?
- 21. Crontab/Launchd:OS X用戶權限,環境變量,Python Virtualenvs
- 22. Python中的變量變量
- 23. 變量iPhone中的變量?
- 24. Javascript中的「變量」變量?
- 25. 變量中的PHP變量
- 26. 變量中的變量?
- 27. 變量javascript中的變量
- 28. JavaScript中的變量變量?
- 29. PHP中的變量變量
- 30. OOP中的變量變量
+1這就是答案 – 2010-09-03 20:48:46
回來看看我3年前問的這個問題。有趣的事情是怎麼回事? – 2013-07-01 08:57:56
這篇文章有誤導性--cron只支持在cron表中設置的一組特定變量;例如HOME,MAILTO,SHELL等。您*無法*設置自定義變量,例如FOO = /富/ DIR。我想我會張貼這篇文章,因爲這篇文章引導我走了幾個小時的錯誤道路。 – Jmoney38 2013-07-08 11:50:33