在 Ansible 中为单个用户调整 crontab MAILTO
Adjusting crontab MAILTO for single user in Ansible
我目前正在像这样编辑特定用户的 crontab 条目:
---
- name: Create example cron entry
cron:
name: "Examplecrontab entry"
minute: "5"
hour: "5"
day: "5"
user: exampleuser
job: "examplejob"
state: present
这会在我用户的 crontab (crontab -l
) 中创建以下条目:
#Ansible: Example cron entry
5 5 5 * * examplejob
我想将 MAILTO=""
添加到该用户的 crontab 的顶部。结果应该如下:
MAILTO=""
#Ansible: Example cron entry
5 5 5 * * examplejob
我试过将它添加到我的 ansible play 中:
---
- name: Disable cron mailing to root
cronvar:
name: MAILTO
value: "\"\""
这运行没有错误,但没有产生如上所述的预期结果。
我从另一个 复制了这个,但这只在创建 /etc/cron.d
文件时有效,而我的工作不这样做。
怎样才能让自己的原创玩法达到预期的效果?
从技术上讲,我可以使用 lineinfile
模块并手动编辑 /var/spool/cron/exampleuser
文件,方法是在其顶部手动添加 MAILTO=""
,但据我所知,这被认为是不好的做法并且不是合法的解决方案。
提前致谢。
看来我没有正确阅读文档。看到默认为 root 的 user 属性,我添加了我的特定用户,我的问题已得到解决。对于其他人,我现在的玩法是这样的:
---
- name: Disable cron mailing to root
cronvar:
name: MAILTO
value: "\"\""
user: exampleuser
- name: Create example cron entry
cron:
name: "Examplecrontab entry"
minute: "5"
hour: "5"
day: "5"
user: exampleuser
job: "examplejob"
state: present
做 crontab -l
作为 exampleuser 现在给我这个:
MAILTO=""
#Ansible: Example cron entry
5 5 5 * * examplejob
我想你要找的是cronvar_module
例如:
---
- name: Create example cron entry
cron:
name: "Examplecrontab entry"
minute: "5"
hour: "5"
day: "5"
user: exampleuser
job: "examplejob"
state: present
- name: MAILTO exists for user username
cronvar:
name: MAILTO
user: username
value: "\"\""
state: present
MAILTO=""
#Ansible: test
我目前正在像这样编辑特定用户的 crontab 条目:
---
- name: Create example cron entry
cron:
name: "Examplecrontab entry"
minute: "5"
hour: "5"
day: "5"
user: exampleuser
job: "examplejob"
state: present
这会在我用户的 crontab (crontab -l
) 中创建以下条目:
#Ansible: Example cron entry
5 5 5 * * examplejob
我想将 MAILTO=""
添加到该用户的 crontab 的顶部。结果应该如下:
MAILTO=""
#Ansible: Example cron entry
5 5 5 * * examplejob
我试过将它添加到我的 ansible play 中:
---
- name: Disable cron mailing to root
cronvar:
name: MAILTO
value: "\"\""
这运行没有错误,但没有产生如上所述的预期结果。
我从另一个 /etc/cron.d
文件时有效,而我的工作不这样做。
怎样才能让自己的原创玩法达到预期的效果?
从技术上讲,我可以使用 lineinfile
模块并手动编辑 /var/spool/cron/exampleuser
文件,方法是在其顶部手动添加 MAILTO=""
,但据我所知,这被认为是不好的做法并且不是合法的解决方案。
提前致谢。
看来我没有正确阅读文档。看到默认为 root 的 user 属性,我添加了我的特定用户,我的问题已得到解决。对于其他人,我现在的玩法是这样的:
---
- name: Disable cron mailing to root
cronvar:
name: MAILTO
value: "\"\""
user: exampleuser
- name: Create example cron entry
cron:
name: "Examplecrontab entry"
minute: "5"
hour: "5"
day: "5"
user: exampleuser
job: "examplejob"
state: present
做 crontab -l
作为 exampleuser 现在给我这个:
MAILTO=""
#Ansible: Example cron entry
5 5 5 * * examplejob
我想你要找的是cronvar_module
例如:
---
- name: Create example cron entry
cron:
name: "Examplecrontab entry"
minute: "5"
hour: "5"
day: "5"
user: exampleuser
job: "examplejob"
state: present
- name: MAILTO exists for user username
cronvar:
name: MAILTO
user: username
value: "\"\""
state: present
MAILTO=""
#Ansible: test