cygwinを使用してコマンドの開始時刻とコマンドの終了時刻をtxtファイルに書き込む方法

cygwinを使用してコマンドの開始時刻とコマンドの終了時刻をtxtファイルに書き込む方法

次のコマンドを使用して、cygwinコンソール出力(stdoutとstderr)を保存して表示できます。

python command.py 2>&1 | tee -a outFile.txt// Note -a is for appending

コマンドが異なり、実行に時間が異なるためです。開始時間をどのように保存しますか?

09:00:00AM
file stream file stream file stream file stream 
file stream file stream file stream file stream 
.
.
.
file stream file stream file stream file stream 
09:07:20AM

開始と終了のタイムスタンプを記録してください。時差を記録できればとても良いと思います。

Total execution time: 00:07:20

はい、cygwinでdateコマンドを使用して時間を取得できます。

$ date -> Tue, Mar 22, 2016  12:00:47 AM

しかし、変数の時間を取得するにはこの日付を解析し、経過時間を取得するにはdiffを実行する必要がありますか?

ベストアンサー1

次のようなコマンドの順序ログファイルから開始/終了と経過時間を取得しようとしています。これを行うより良い方法があるかもしれません。

date 2>&1 | tee -a outFile.txt && SECONDS=0 && command.py 2>&1 | tee -a outFile.txt && date 2>&1 | tee -a outFile.txt && duration=$SECONDS echo "Total Execution Time: $(($duration / 60)) m $(($duration % 60)) s" 2>&1 | tee -a outFile.txt
  1. 開始日を取得し、ファイルに追加します。

    date 2>&1 | tee -a outFile.txt 
    
  2. その後、コマンドを実行してファイルに追加します。

    && SECONDS=0 && command.py 2>&1 | tee -a outFile.txt
    
  3. 次に、終了日をインポートしてファイルに追加します。

    && date 2>&1 | tee -a outFile.txt
    
  4. 最後に、経過時間を計算してファイルに追加します。

    && duration=$SECONDS echo "Total Execution Time: $(($duration / 60)) m $(($duration % 60)) s" 2>&1 | tee -a outFile.txt
    

以下はログファイルの出力です。

    Tue, Mar 22, 2016  4:01:18 PM

    file stream file stream file stream file stream 
    file stream file stream file stream file stream 
    .
    .
    .
    file stream file stream file stream file stream 
    Tue, Mar 22, 2016  4:01:23 PM
    Total Execution Time: 0 m 7 s

おすすめ記事