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'
。