73 lines
2.2 KiB
Markdown
73 lines
2.2 KiB
Markdown
# Commandes AdHoc
|
|
|
|
## Ligne de commande
|
|
|
|
```bash
|
|
ansible -o -m ping all -u root -k -K
|
|
```
|
|
|
|
1. identifier tous les éléments de cette ligne de commande
|
|
2. expliciter toutes les options utilisées
|
|
2. faire le lien entre option et directives de configuration (ansible.cfg)
|
|
3. si on omet l'option "-u root", avec quelle identité se fera la connexion ?
|
|
|
|
## Tâches d'administration système I
|
|
|
|
1. Lister sur le pad les tâches d'administration système que nous réalisons au quotidien, et que nous souhaiterions automatiser
|
|
2. Tenter, pour chaque tâche, d'identifier le(s) module(s) ansible que l'on pourra utiliser
|
|
|
|
|
|
## Tâches d'administration système II
|
|
|
|
### Télécharger des fichiers sur la cible avec get_url
|
|
|
|
Récupérer dans /tmp le fichier : https://starship.rs/install.sh
|
|
|
|
### Exécuter des scripts à distance avec command
|
|
|
|
Exécuter le script précédemment récupéré, uniquement si le fichier /usr/local/bin/starship n'existe pas déjà
|
|
|
|
### Déployer un fichier avec copy
|
|
|
|
S'assurer de la présence du fichier /etc/profile.d/zstarship.sh avec le contenu suivant:
|
|
|
|
```bash
|
|
eval "$(/usr/local/bin/starship init bash)"
|
|
|
|
|
|
```
|
|
### Installer des packages avec git
|
|
|
|
S'assurer que les paquets _vim_ et _git_ soit installées sur les cibles.
|
|
|
|
### Cloner des dépôts avec git
|
|
|
|
Cloner le dépôt https://infra.opendoor.fr/git/tom/vim_formation.git dans /opt/vim/
|
|
|
|
|
|
### S'assurer de l'absence de fichier avec file
|
|
|
|
Supprimer le fichier /etc/vimrc existant
|
|
|
|
### Gérer des liens symboliques, toujours avec file
|
|
|
|
Faire un lien symbolique /etc/vimrc vers /opt/vim/vimrc
|
|
|
|
### Modifier des fichiers avec lineinfile
|
|
|
|
dans /etc/vimrc, assurez-vous que la ligne 62 (qui commence par set list listchars...) soit _décommentée_
|
|
|
|
### Planifier l'exécution de la tâche "_Exécuter des scripts à distance avec command_" toutes les semaines le dimanche soir avec cron
|
|
|
|
Comment éviter que cette tâche soit programmée exactement à la même heure pour toutes les machines cibles ?
|
|
|
|
### Rajouter des blocs de textes dans un fichier avec blockinfile
|
|
|
|
Rajouter dans ~/.ssh/config, sur la machine *pilote* les infos suivantes:
|
|
|
|
```bash
|
|
Host machinecible #cf variable inventory_hostname
|
|
User: formation
|
|
Port 22
|
|
```
|