2016-07-28 4 views
3

私はcron_fileパラメータを使用してcron.dファイルを作成するためにAnsibleを使用しています。MAINTOをAnsibleのcron.d cron_fileに追加するには?

しかし、どのようにファイルにMAILTOを追加できますか?

env = trueは、crontabファイルではなく、crontabファイルの場合だけです。私が間違っている?

+0

で公式ドキュメントを参照してくださいに私は自分を使用していますファイルを 'copy'モジュールで置き換えます。 'cron'モジュールで変数を指定する方法が見つからなければ、この方法を使うことができます。 –

+0

あなたは私に良いアイデアをくれました。私がcronファイルを作成した後、私はループインして、 'linebeam'モジュールを' insertbefore:BOF'とともに使用して、MAILTOコマンドの前に追加しました。 – Nathan

答えて

6

Ansible 2.0ので、あなたはcronvarコマンドがあります。

# modify /etc/cron.d/sweep_for_rebel_code 
- cronvar: 
    name: MAILTO 
    value: [email protected] 
    cron_file: sweep_for_rebel_code 

http://docs.ansible.com/ansible/cronvar_module.html

+1

メールを無効にするために 'MAILTO'を' '" ''に設定したい場合は、 'value:" \ "\" "'を使うか、あなたは危険なエラー「失敗しました! \ n "}"(有能な2.4でテスト済み)\ n "、" \ "/" – deterralba

1

これはansible 2.1で私の作品:

- cron: 
    cron_file: ansible_test 
    env: "{{ item.env }}" 
    name: "{{ item.name }}" 
    job: "{{ item.job }}" 
    user: vagrant 
    with_items: 
    - env: true 
     name: MAILTO 
     job: [email protected] 
    - env: false 
     name: cmd 
     job: /bin/true 
+0

私はcronf_fileという別のタスクを持っていれば、envパラメータのためだけにもう1つ作成しますか? – Nathan

+0

実際、これはcron.dファイルではなく、crontabのみを変更するようです。 – Nathan

+0

私のプレイブックスニペットは、MAILTO = "[email protected]"変数セットで/etc/cron.d/ansible_testを作成します(テストしました) 。あなたの仕事は何ですか? –

関連する問題