2011-03-09 88 views
1

我正在研究一個產品,其中業務邏輯根據日期進行更改,並且爲了幫助UAT測試,如果我們可以在我們的Linux服務器上凍結日期/時間,那將是非常好的。暫停Linux日期時間

是否可以暫停服務器上的日期/時間從第二天滾動到第二天?

也許唯一的辦法是創建一個腳本,每天運行調整日期/時間,任何想法讚賞。

由於

+0

你想用你的編程語言來測試的東西 - 例如Java?或者您需要在系統的其他部分更改它嗎? – teabot

+0

Java和Oracle。 – JamesC

+0

那麼,我很喜歡這種方法的Java端:http://stackoverflow.com/questions/2001671/override-java-system-currenttimemillis/2001696#2001696 - 也許你可以爲你的Oracle組件實現類似的東西。通過這樣做,您可以完全控制測試的時間依賴關係,而無需擺弄實際的系統時鐘。 – teabot

回答

2

使用LD_PRELOAD和重定向庫函數檢索時間 - 的實例可以例如發現here

0

我認爲你最好的選擇是,如你所建議的,設置一個腳本來重置時間。可能有更奇特的方法來做到這一點,但最終結果是一樣的。請注意,「凍結」時間會有副作用。構建依賴文件修改日期的系統可能會被混淆,以及假定時鐘始終在前進的守護進程。