web-dev-qa-db-ja.com

2つのタイムスタンプの違いを取得するにはどうすればよいですか?

簡単なバックアップスクリプトを作成しています。ログイン時に「x日前に最後にバックアップしました」というメッセージが欲しいのですが。バックアップ「backup/.last_backup_timestamp」を実行するとファイルを作成できますが、どの形式を使用する必要があり、bashでその時と現在の日数の違いをどのように見つけることができますか?

ありがとうございました

7
ashleysmithgpu

dateユーティリティを使用してfileのタイムスタンプと現在の時刻をエポックからの経過秒数として書き込み、文字列をフォーマットして日数の差の秒数を次のように変換できます。 bc

echo "scale=2; ($(date +%s)-$(date -r file +%s)) / (3600 * 24)" \
  | bc
8
enzotib