#1 Le 23/09/2016, à 10:52
- Kruzkova
Script d'automatisation de modification de fichier
Bonjour
Alors voilà je développe en ce moment même un script pour automatisé certaines tâche j'aimerai vous partager un peu mon idée et peut être l'amélioré avec vous ! Je compte envoyer mon script sur le net et le partager une fois fini il permettra de modifier pas mal de fichiers voici pour le moment le script non terminer je le précise car pour le moment il permets seulement de faire un nouveau fichier interfaces qui ce situe dans /etc/network/
echo initialisation
echo ROOT OBLIGATOIRE
if [ "$UID" -ne "0" ]
then
echo "Vous devez être en mode SU pour pouvoir utilisé ce sript"
sleep 1
echo "Entrer le mot de passe root et relancer la commande autopath"
su
exit 1
fi
echo execution de la commande
echo création du fichier interfaces et creation du backup interfaces.backup dans /etc/network/
echo remplacement du fichier
# Creation du back up de interfaces on est jamais trop prudent et création d'un nouveau fichier interfaces avec une ligne dedans pour le moment
cd /etc/network/
cp interfaces interfaces.backup
rm interfaces
touch interfaces
echo '#Script par Sébastien Montagne' >> interfaces
# Il manque encore les indications à quoi corespond à quoi pour l'utilisateur en mettant des echo avant chaque read
read int
read dhcpmode
read netmask
read ipadd
read network
read broad
read dnsname
read dnsip
# ici j'utilise sed pour chaque ligne du fichier tout fonction correctement il manque encore la création des ligne du loopback qui sont en premiers logiquement dans le fichier d'origine interfaces
sed -i '1i iface'"$int"' inet'"$dhcpmode" interfaces
sed -i '2i address '"$ipadd" interfaces
sed -i '3i netmask '"$netmask" interfaces
sed -i '4i network '"$network" interfaces
sed -i '5i broadcast '"$broad" interfaces
sed -i '6i dns-domain '"$dnsname" interfaces
sed -i '7i dns-nameservers '"$dnsip" interfaces
echo Ecriture du fichier terminer
echo Script Par Sébastien Montagne
echo Script pour aider à la création du fichier interfaces
echo Script Libre de droit
Voilà à quoi ressemble le script pour le moment toutes idées est la bienvenue et je compte aussi améliorer le script en permettant la création des fichiers pour le dns (bind9) etc... en utilisant le case pour permettre plusieurs options (choix du fichier ...) dans le script ou autres
Hors ligne
#2 Le 23/09/2016, à 17:35
- kholo
Re : Script d'automatisation de modification de fichier
salut,
pour le sudoer tu pourrais commencer comme ça :
#!/bin/bash
echo initialisation
NOM_LOGICIEL="$(basename "$0")"
echo "ROOT OBLIGATOIRE"
if [ "$UID" -ne "0" ]
then
echo "Vous devez être en mode SU pour pouvoir utilisé ce sript"
sleep 1
echo "Entrer le mot de passe root je relance la commande $NOM_LOGICIEL"
sudo ./"$NOM_LOGICIEL"
exit 1
fi
et pour le backup (sans gestion de version pour le moment)
echo execution de la commande
# Creation du back up de interfaces on est jamais trop prudent
# et création d'un nouveau fichier interfaces avec une ligne dedans pour le moment
# on factorise /etc/network/interfaces
FI="/etc/network/interfaces"
# pour éviter d'écraser une bonne sauvegarde !
if [ ! -f "$FI.backup" ]; then
echo "creation du backup interfaces.backup dans /etc/network/"
mv "$FI" "$FI.backup"
else
echo "un backup existe déjà..."
rm "$FI"
fi
echo "création du nouveau fichier $FI"
touch "$FI"
echo '#Script par Sébastien Montagne' >> "$FI"
Hors ligne