-
ansible.posix.at:写一个playbook,让所有的受控主机在20分钟之后,执行命令ls -d / >/dev/null,确保这个任务是独一无二的;
-
ansible.posix.at:写一个playbook,确保任务ls -d / >/dev/null不存在;
-
ansible.posix.cron:写一个playbook,对于用户centos,每天的2点和5点都会运行任务ls -alh > /dev/null;
-
ansible.posix.cron:写一个playbook,对于用户centos,每周五16点每隔两分钟,都会运行任务ls -alh > /dev/null;
-
ansible.builtin.service:启动并开机自启httpd服务;
-
ansible.builtin.systemd:启动并开机自启httpd服务;
-
ansible.builtin.systemd:重新加载所有对于httpd配置的改动,然后重启httpd服务;
-
ansible.builtin.command:写一个playbook,将默认target设置为multi-user.target;
-
ansible.builtin.reboot:重启受控主机;
-
/* A20240605.yaml */
- name: Play1
hosts: all
tasks:
- name: Task1
command: ls -d / >/dev/null
count: 20
units: minutes
unique: yes
...
- /* B20240605.yaml */
- name: Play1
hosts: all
tasks:
- name: Task1
command: ls -d / >/dev/null
state: absent
...
- /* C20240605.yaml */
- name: Play1
hosts: all
tasks:
- name: Task1
ansible.builtin.cron:
user: centos
name: job1
job: "ls -alh > /dev/null"
hour: "2,5"
...
- /* D20240605.yaml */
- name: Play1
hosts: all
tasks:
- name: Task1
ansible.builtin.cron:
user: centos
name: job2
job: "ls -alh > /dev/null"
weekday: "5"
hour: "16"
minute: "*/2"
...
- /* E20240605.yaml */
- name: Play1
hosts: all
tasks:
- name: Task1
ansible.builtin.service:
name: httpd
state: started
enabled: true
...
- /* F20240605.yaml */
- name: Play1
hosts: all
tasks:
- name: Task1
ansible.builtin.systemd:
name: httpd
state: started
enabled: true
...
- /* G20240605.yaml */
- name: Play1
hosts: all
tasks:
- name: Task1
ansible.builtin.systemd:
name: httpd
state: reloaded
daemon_reload: yes
...
- /* H20240605.yaml */
- name: Play1
hosts: all
vars:
- target: multi-user.target
tasks:
- name: Task1
ansible.builtin.command:
cmd: systemctl get-default
changed_when: false
register: Task1result
- name: Task2
ansible.builtin.command:
cmd: systemctl set-default {{ target }}
when: target not in Task1result.stdout
...
- /* I20240605.yaml */
- name: Play1
hosts: centos7.example.com,centos8.example.com
tasks:
- name: Task1
ansible.builtin.reboot:
reboot_timeout: 180
...