小编UsC*_*sCr的帖子

如何使用Ansible删除cron作业?

我有大约50个Debian Linux服务器,其中有一个糟糕的cron作业:

0 * * * * ntpdate 10.20.0.1
Run Code Online (Sandbox Code Playgroud)

我想用ntpd配置ntp sync,所以我需要删除这个cron作业.对于配置我使用Ansible.我试图用这个游戏删除cron条目:

tasks:
   - cron: name="ntpdate" minute="0" job="ntpdate 10.20.0.1" state=absent user="root"
Run Code Online (Sandbox Code Playgroud)

没啥事儿.

然后我运行这个游戏:

tasks:
   - cron: name="ntpdate" minute="0" job="ntpdate pool.ntp.org" state=present
Run Code Online (Sandbox Code Playgroud)

我在"crontab -l"的输出中看到新的cron作业:

...
# m h  dom mon dow   command
  0 *  *   *   *     ntpdate 10.20.0.1
#Ansible: ntpdate
0 * * * * ntpdate pool.ntp.org
Run Code Online (Sandbox Code Playgroud)

但是/etc/cron.d空的!我不明白Ansible cron模块是如何工作的.

如何使用Ansible的cron模块删除我手动配置的cron作业?

linux debian ansible

15
推荐指数
1
解决办法
1万
查看次数

为什么Ansible没有在变量中看到属性?

我有一个简单任务的Ansible角色"db":

- name: Check repos
  apt_repository: repo="{{ item.repo }}" state={{ item.state }}
  with_items:
  - "{{ apt_repos }}"
Run Code Online (Sandbox Code Playgroud)

在/defaults/mail.yml中:

apt_repos:

   # Percona
 - { state: present, repo: 'deb http://repo.percona.com/apt wheezy main', keyserver: 'keyserver.ubuntu.com', key: '1C4CBDCDCD2EFD2A', needkey: True }
 - { state: present, repo: 'deb-src http://repo.percona.com/apt wheezy main', needkey: False }
Run Code Online (Sandbox Code Playgroud)

当我尝试运行这个ansible-playbook时:

---
- hosts: test
  roles:
  - db
Run Code Online (Sandbox Code Playgroud)

我看到错误:

fatal: [10.10.10.10] => One or more undefined variables: 'unicode object' has no attribute 'repo'

FATAL: all hosts have already failed -- aborting …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu debian ansible

5
推荐指数
1
解决办法
7996
查看次数

标签 统计

ansible ×2

debian ×2

linux ×2

ubuntu ×1