Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/09/2016, à 11: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, à 18: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