Do Shell Script ao Ansible: meu primeiro e simples playbook

E aí pessoal, hoje trago uma experiência mais a nível pessoal, venho compartilhar meu primeiro playbook em Ansible desenvolvido para substituir meu script feito em shell, para atualização de sistema. Isso começou há 2 anos atrás, e foi assistindo os vídeos do canal do Linux Tips que eu aprendi muito sobre DevOps e também Ansible, até que certo dia pensei em utilizar o Ansible para automações curtas no meu laptop Linux.

#!/usr/bin/env bash
#
# -----------------------------------------------------------------#
# Script Name: atualiza_sistema.sh
# Description: Update the system using apt command.
# Site: https://medium.com/@amaurybsouza
# Written by: Amaury Souza
# Maintenance: Amaury Souza
# -----------------------------------------------------------------# #
# Usage:
# $ ./atualiza_sistema.sh
# -----------------------------------------------------------------#
# Bash Version:
# Bash 4.4.19
# -----------------------------------------------------------------#
# History: v1.0 17/05/2019, Amaury:
# - Start de program
# - Add (apt clean) command to clean the system
# v1.1 19/05/2019, Amaury:
# - Tested with apt autoremove feature
# v1.2 30/05/2019, Amaury:
# - Add apt list --upgradable command
# -----------------------------------------------------------------#
# Thankfulness:
#
# -----------------------------------------------------------------#
TIME=1
clear
while true;do
echo " "
echo "SEJA BEM VINDO AO $0 DO UBUNTU!"
echo " "
echo "Escolha uma opção abaixo para começar!

1 - Verificar repositório do sistema
2 - Mostrar atualizações do sistema
3 - Instalar atualizações do sistema
4 - Limpar o sistema
5 - Remover pacotes não necessários
0 - Sair do sistema"
echo " "
echo -n "Opção escolhida: "
read opcao
case $opcao in
1)
echo Verificando o sistema por atualizações...
sleep $TIME
apt update
;;
2)
echo Mostrando as atualizações do sistema...
sleep $TIME
apt list --upgradable
;;
3)
echo Instalando atualizações do sistema...
sleep $TIME
apt upgrade -y
;;
4)
echo Limpando o sistema...
apt clean
apt autoclean
;;
5)
echo Removendo pacotes desnecessários do sistema...
sleep $TIME
apt autoremove -y
;;
0)
echo Saindo do sistema...
sleep $TIME
exit 0
;;

*)
echo Opção inválida, tente novamente!
;;
esac
done
---
- hosts: local
become: yes
tasks:
- name: Upgrade all packages to the latest version (Debian based)
apt:
update_cache: yes
upgrade: yes
when: ansible_os_family == "Debian"
tags: updating
- name: Upgrade all packages to the latest version (CentOS based)
yum:
name: '*'
state: latest
when: ansible_os_family == "Centos"
- name: Remove useless packages from the cache (Debian based)
apt:
autoclean: yes
when: ansible_os_family == "Debian"
tags: remove packages
- name: Remove useless packages from the cache (CentOS based)
yum:
automremove: yes
become: yes
when: ansible_os_family == "Centos"
- name: Remove dependencies that are no longer required
apt:
autoremove: yes
when: ansible_os_family == "Debian"
tags: remove dependencies
...

Senior Linux Administrator at IBM

Senior Linux Administrator at IBM