web-dev-qa-db-ja.com

日付形式のansible操作ファイル

Ansibleでは、私はこのように構成されたまたは構成されたファイル/ディレクトリ/アーカイブを操作したいと思います:

どうすればいいですか。 Ansibleはそれを処理できないようです。 (私は疑う)。それで、私は何を間違っていますか?

例:

- name: create file with a date in name
  file: path=/path/somefile.`date +%y_%m_%d`

- name: unzip a file
  unarchive: path=/path/zomezip.`date +%y_%m_%d`.tar.gz bla bla....
7
yield

変数を設定し、Ansibleの Jinja2テンプレートシステム で使用します(PHPドット演算子とバッククォートを使用しようとしているようです)

vars:
    date: "{{ lookup('pipe', 'date +%Y%m%d-%H%M') }}"
tasks:
  - name: create file with a date in name
    file: path="/path/somefile{{ date }}"

または、テンプレートでルックアップ自体を使用します。

  - name: create file with a date in name
    file: path="/path/somefile{{ lookup('pipe', 'date +%Y%m%d-%H%M') }}"
15
ceejayoz

2.4以降では、strftimeフィルター( doc )も使用できます。

# Display year-month-day
{{ '%Y-%m-%d' | strftime }}

# Display hour:min:sec
{{ '%H:%M:%S' | strftime }}

# Use ansible_date_time.Epoch fact
{{ '%Y-%m-%d %H:%M:%S' | strftime(ansible_date_time.Epoch) }}

# Use arbitrary Epoch value
{{ '%Y-%m-%d' | strftime(0) }}          # => 1970-01-01
9
Davor Cubranic

あなたは試すことができます。

vars: 
  - a_timestamp: "{{ timestamp.stdout }}"

tasks:
  - name: Get a timestamp
    command: date +%Y%m%d%H%M%S
    register: timestamp

次に、必要な場所に変数を追加します。

0
J. Parrish