Aller au contenu

Aide-mémoire – Scripts d'exploitation

BTS SIO SISR 2e année – Bloc 2 – S09

Un mot ou un sigle inconnu ? Passe la souris dessus, ou ouvre le glossaire.

Squelette Bash fiable

#!/usr/bin/env bash
# Usage et codes de retour documentés ici
set -euo pipefail
ARG="${1:-}"                       # argument, avec valeur par défaut éventuelle
[[ -z "$ARG" ]] && { echo "Usage : $0 ARG" >&2; exit 1; }
trap 'echo "nettoyage"' EXIT       # exécuté à la sortie
# ... travail ...
exit 0
Élément Rôle
set -e Arrêt à la première erreur
set -u Erreur sur variable non définie
set -o pipefail Échec d'un tube si une commande échoue
$? Code de retour de la dernière commande
${1:-7} Argument 1, ou 7 par défaut
logger -t nom "msg" Message au journal système

cron

m  h  jour  mois  jour-sem  commande
*/10 8-18 * * 1-5  /chemin/absolu/script.sh >> /chemin/log 2>&1

crontab -e éditer · crontab -l lister. Chemins absolus, sortie redirigée.

Vérifier une exécution planifiée

journalctl -t sauvegarde --since "10 minutes ago"
journalctl -u cron --since "10 minutes ago"

Rotation

find /dest -maxdepth 1 -name "nom-*.tar.gz" -mtime +7 -delete

PowerShell

$ErrorActionPreference = "Stop"
param([int]$Seuil = 80)           # en tête de script
exit 1                            # code de retour
$LASTEXITCODE                     # lire le code
schtasks /create /tn "Nom" /tr "powershell -File C:\s.ps1" /sc daily /st 07:00

Réflexes

  • Tester le cas nominal et les cas d'erreur.
  • Un script qui échoue doit renvoyer un code non nul.
  • Journaliser, versionner, documenter.
  • Planifier, puis vérifier que ça tourne vraiment.