MongoDBバックアップの場合、先月のすべての変更ではなく、先月の最新の変更のみをバックアップしたいと思います。 "mongodump"に渡す必要があるクエリの一部として、最初の日/最後の月と最後の日/最後の月を決定し、次のようにしました。
date -d "-1 month -$(($(date +%d)-1)) days"
Sat Dec 1 21:05:21 UTC 2012
date -d "-$(date +%d) days -0 month"
Mon Dec 31 21:06:22 UTC 2012
ご覧のとおり、これはほとんど機能しますが、上記の「日付」の例の時間部分は、私のタイムゾーンに基づいて現在の時間を反映しています。前月の最新のバックアップデータのみを100%含めるには、次のように表示するのではなく、前月の1日と最後の日のタイムスタンプ部分を指定する必要があります。
Sat Dec 1 00:00:00 UTC 2012
Mon Dec 31 23:59:59 UTC 2012
上記の方法で日付/時刻の時間部分を表示する方法はありますか?
答え1
正しい方向に進んでいますが、視差を計算する代わりに、その月の1日に対応する絶対日付を作成します。TZ
別のタイムゾーンで実行するように環境変数を設定します。
TZ=UTC date -d "$(date +%Y-%m-01) -1 month"
TZ=UTC date +%Y-%m-01
答え2
これはあなたに効果がありますか?
date -d "-1 month -$(($(date +%d)-1)) days" "+%a %b %d 00:00:00 %Z %Y"
date -d "-$(date +%d) days -0 month" "+%a %b %d 23:59:59 %Z %Y"