如何避免Ansible cron任务生成的crontab条目自动添加用户名?
解决Ansible Cron任务自动添加用户名的问题
问题原因
你指定的cron_file是用户级crontab文件(/var/spool/cron/myuser),这类文件中的任务默认以所属用户身份执行,不需要在命令前指定用户名。但你同时设置了user: myuser参数,导致Ansible错误地将用户名追加到了job命令前。
解决方案
直接移除user参数即可,因为/var/spool/cron/myuser本身就是属于myuser的crontab文件,Ansible会自动以正确的权限维护这个文件,任务执行时也会默认以myuser身份运行。
修改后的Ansible任务如下:
- name: Enable/Disable cron cron: cron_file: /var/spool/cron/myuser state: present disabled: true name: my cron job: myscript.sh >> /tmp/myuser.log 2>&1 minute: "0" hour: "4"
效果验证
执行修改后的任务后,生成的crontab条目将不再包含用户名:
# 注释:my cron 0 4 * * * myscript.sh >> /tmp/myuser.log 2>&1
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

