wgetでdate-1dayを使用する

wgetでdate-1dayを使用する

wgetとcronジョブを使用して毎日ファイルをインポートしたいのですが、リモートサーバーから前日のファイルをインポートし、次のようにURLの日付変数で制御するようにしたいと思います。

http://example.com/export/file.csv?DateRange=20150429,20150429

以下を使用して現在の日付を取得できます。

/usr/bin/wget --output-document=/file.csv "http://example.com/export/file.csv?DateRange=`date +%Y%m%d`,`date +%Y%m%d`"

しかし、このファイルは良くありません。今日の日付ではなく昨日の日付を抽出したいです。

1日を引く方法はありますか?

ベストアンサー1

GNU Dateがあれば、次のことができます。

date -d yesterday +%Y%m%d

たとえば、

$ date -d yesterday +%Y%m%d
20150430
$ date +%Y%m%d      
20150501

コマンドは次のとおりです。

/usr/bin/wget --output-document=/file.csv "http://domain.com/export/file.csv?DateRange=`date -d yesterday +%Y%m%d`,`date +%Y%m%d`"

確認するGNUドキュメントより多くの例を学びましょう。次のこともできます。 date --date='1 day ago'またはdate --date='-1 day'

おすすめ記事