Automating Linux Administration Tasks
Automating Linux Administration Tasks
ex:
create 5GB partition on '/dev/sdb' then create 'lv1' with '2gb' size, format it with 'xfs' file-system and mount it on '/mnt/lv1'
persistently.
$ cat lvm.yml
---
- name:
hosts: all
tasks:
- name:
parted:
device: /dev/sdb
number: 1
part_end: 5GB
state: present
- name:
lvg:
pvs: /dev/sdb1
vg: vg1
pesize: 4
- name:
lvol:
vg: vg1
lv: lv1
size: 2g
- name:
filesystem:
dev: /dev/vg1/lv1
fstype: xfs
- name:
file:
path: /mnt/lv1/
mode: 0755
state: directory
- name:
mount:
src: /dev/vg1/lv1
path: /mnt/lv1
fstype: xfs
state: present
- name:
raw: mount -a
...
Manage services with 'systemd' and 'service' modules
-service module
$ cat srv.yml
---
- name:
hosts: node2
tasks:
- name:
service:
name: crond
state: restarted
...
-systemd module
$ cat srv.yml
---
- name:
hosts: node2
tasks:
- name:
systemd:
name: crond
state: restarted
daemon-reload: yes
...
Appending Commands/scheduling tasks with the CRON module
$ cat cron.yml
---
- name:
hosts: node1
tasks:
- name:
cron:
name: "create file"
user: "root"
minute: "39"
hour: "17"
job: /usr/bin/touch /tmp/file1.txt
...