Linux
偽造特定 shell 會話的日期
我當然想在這裡實現一些奇怪的東西,但我想在本地偽造日期以在 GNU/Linux 上進行 shell 會話。我需要對程序在不同日期的行為進行黑盒測試,並且修改系統範圍的日期可能會產生不必要的副作用(cron 作業、混亂的日誌等)。
有任何想法嗎 ?
您可以通過以下方式使用執行檔
faketime
(來自 ubuntu repositoriessudo apt-get install faketime
):faketime -f "-15d" date
甚至是整個外殼的假時間
faketime -f "-15d" bash -l
這個還沒試過。但是,如果這是目前的,看起來有人已經編寫了庫,您可以使用libfaketime預載入。
基本用法是:
user@host> LD_PRELOAD=/usr/local/lib/libfaketime.so.1 FAKETIME="-15d" date Mon Nov 8 12:01:12 CEST 2007
您可以使用
ltrace
它來確保涵蓋您的應用程序使用的所有時間功能。