2017-06-30 25 views
2

変数ansible_date_time.dateは現在の日付とタイムスタンプを返しますが、この日を '分' /日で増分します。これを行う方法やロジックが組み込まれていますか?Ansible - 'X'日/分で日付を増やす

演算子-演算子は日付オペランドで動作するようですが、日付をインクリメントする簡単な方法はありません。次のコードに示すように、私は、コマンドモジュールはIs it possible to manipulate the date in an Ansible Playbook

+1

https://stackoverflow.com/questions/43769809/is-it-possible-to-manipulate-the-date-in-an-ansible-playbook/43790398#43790398 –

+0

「可能ですか? 「Ansible Playbook」の日付を操作する](https://stackoverflow.com/questions/43769809/is-it-possible-to-manipulate-the-date-in-an-ansible-playbook) – techraf

+0

ymlファイル内で使用できますか? – Aishwaryameenakshi

答えて

0

で説明したようにYMLスクリプト自体ではなく、追加のPythonスクリプトを使用することによって、これを達成したい

は、現在の日付をインクリメントするために使用することができます。これは期待通りに私のために働いた。

これは、日付をdd-mm-yyyy形式で返します。たとえば、今日の日付が「03-07-2017」の場合、(上記の例のスニペットに示されているコマンドのように)日付が3日増分され、「06-07-2017」が返されます。

+0

これはLinux専用の方法です。フラグ '-d'はFreeBSD上で非常に異なるものを意味します。 –

1

可能性がある2.4では、strftimeを使用してエポックタイムを使用し、strftimeフィルタを使用して文字列に変換し直します。

分間
- debug: 
    msg: "{{ '%Y-%m-%d' | strftime((ansible_date_time.epoch | int) + (86400 * 3) ) }}" 

、乗数は60秒となり、スタート時日時書式文字列は、適切なを含める必要があります。

例えば、なり3日間追加するには、86400秒として1日服用(例えば、%H、%M、%S、...)。

このフィルタに関するドキュメントはhereです。