0

rsnapshot、ディレクトリ削除処理の経過時間を確認したい

Rsnapshot ログ形式 (grep でこれをフィルター処理しました):

cat /var/log/rsnapshot | grep -A 1 "/bin/rm"

[21/Nov/2012:07:41:24] /bin/rm -rf /mnt/sdb/rsnapshot/daily.delete/
[21/Nov/2012:09:47:50] WARNING: /usr/local/bin/rsnapshot -v daily: completed, but with some warnings

その後、時間のみ:

cat /var/log/rsnapshot | grep -A 1 "/bin/rm" | awk '{ print $1 }' | cut -b 14-21 | uniq
07:41:24
09:47:50

ただし、日付コマンドを使用して時間を減算する方法がわかりません。

私はまだ学習曲線上にあるため、BASH でこれを行うためのより良い/より効率的な方法があるかどうかを教えてください。

4

1 に答える 1

2

以下の構文で date コマンドを使用します。

NEW=`date --date "$NEW_DATE" +%s`
OLD=`date --date "$OLD_DATE" +%s`
diff=$((NEW-OLD))

これにより、秒単位の差が得られます...次に、モジュロ60を使用して、秒、時間、分などを簡単に区切ることができます.

于 2012-11-30T10:35:18.780 に答える