一時的に時間を変更

一時的に時間を変更

一日の特定の時間にのみ発生するソフトウェアの側面をテストする必要があります。一日中待つのではなく(夜明け2時に到着)時間を変えたかったです。

しかし、私は変えない方がいいと思います。永久的な

時間を変更してから再度変更できることを知っていますが、dateより良い方法はありますか?

問題のオペレーティングシステムは、仮想マシンで実行されるRHEL6です。

ベストアンサー1

というライブラリがあります。libfaketime(返品GitHubから)を使用すると、システムにアプリケーションに特定の時間を報告させることができます。プログラムの実行中にシステムに一定時間を報告させるか、特定の時間(01:59:30 など)で時計を起動することができます。デフォルトでは、faketimeライブラリをライブラリローダを介してプログラムのメモリイメージにリンクすると、システム時間に関連するすべてのシステムコールを一意の方法でキャプチャして処理します。少し落ちる変化システム時間ですが時間が変わりました。レポート実行中の他の項目に影響を与えずに特定のアプリケーションに適用できます。これはおそらくあなたが本当に望むものです(そうでなければグローバルシステム時間を変更しない理由はありません)。

これを使用する方法にはいくつかのバリエーションがありますが、次のようになります。libfaketimeを使用して、プロセスが考える時間を変更します。これを試すことができるサンプルコードとともに、非常に包括的なリストがあります。あなたが探しているものを知っているなら、Googleはいくつかの例を見つけるかもしれません。

RHELリポジトリを介して事前パッケージされていないようですが、たとえば次のようになります。Debian はパッケージ名で提供します。faketime。また、ソースから直接ビルドできるように見えます(明らかにステップやconfigure同様のものは必要ありません)。

おすすめ記事