Bonjour,
Je commence à apprendre le bash, et je voudrais créer un petit script pour automatiser une tâche.
Je cherche une personne qui serait capable de me créer un modèle pour mon script.
le but n’étant pas de refiler la tâche à quelqu’un pour pas me fatiguer, je ne demande pas que vous écriviez complètement mon script, juste me guider avec des commentaires pour chaque étape afin que je comprenne bien comment tout cela fonctionne.
J’ai créé l’algotigrame de mon futur script, je ne sais pas s’il est très clair (c’est mon 1er)
le but de mon script est de chercher une mise à jour sur clamav, puis s’il est à jour, lancer le scan.
de plus, je veux lancer mon script depuis un alias.
Quand tu poses une même question sur plusieurs forums, c’est une bonne idée de donner en lien les différentes discussions que tu as ouvertes. Ça évite de se répéter entre les forums, et ça permet à ceux qui viennent t’aider de savoir ce qui t’a déjà été proposé.
Pour ceux qui n’ont pas compris le principe même d’Internet…
Ce n’est pas le cas ici
Voici un début de script pour commencer :
[code]#!/bin/bash
freshclam
freshclam_done=“0”
while [ “$freshclam_done” -eq “0” ]
do
freshclam
if [ "$?" -eq "0" ]
then
freshclam_done="1"
else
echo "Tuer le processus qui bloque freshclam"
# TODO
fi
sleep 1
done
Scan
echo “Scan”
TODO
[/code]
La syntaxe de Bash est un peu “stricte”. L’absence ou la présence d’espace est importante notamment lors de l’affectation [mono]freshclam_done=“0”[/mono] ou dans la condition des structures de contrôle.
Maintenant que tu as un début de script, tu devrais pouvoir le continuer dès que tu l’auras bien compris.
(HS : À mon avis, faire directement du Python est plus simple)
[quote=“MicP”]Je n’ai pas trouvé de commande [mono]fresclam[/mono] => ce doit sans doute être une faute de frappe (manque un [mono]h[/mono]) comme j’en fais aussi
=======
Plutôt que de lancer et tester le message d’erreur retourné par [mono]freshclam[/mono]
Pourquoi ne pas vérifier (avant de lancer l’exécution d’un nouveau [mono]freshclam[/mono]) :
- L'existence de process freshclam
et/ou
- La disponibilité (avec la commande [mono]lsof[/mono]) du fichier [mono]/var/log/clamav/freshclam.log[/mono]
=======
Voir aussi :
Oui en effet je pourrais très bien vérifier avant, mais c’était aussi un moyen d’apprendre le scripting.