Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Script à l'arret du PC
Envoyé par: totom7

Voici le contenu du script (Startup_-_Shutdown) que je voudrai lancer lors de l'arrêt du PC
#!/bin/bash

# This script is for /etc/rc.d/init.d
# Link in rc3.d/S99audio-greeting and rc0.d/K01audio-greeting

case "$1" in
'start')
;;
'stop')
  /home/totom/Documents/PGM/Script/Bash/Vidange
;;
esac
exit 0

Puis j'ai fait les liens vers /etc/init.d/rc0.d et /etc/init.d/rc6.d par les commandes suivantes :
ln -s  /etc/init.d/Starter_-_Shutdown /etc/init.d/rc0.d/S01Starter_-_Shutdown
ln -s  /etc/init.d/Starter_-_Shutdown /etc/init.d/rc0.d/K01Starter_-_Shutdown
ln -s  /etc/init.d/Starter_-_Shutdown /etc/init.d/rc6.d/S01Starter_-_Shutdown
ln -s  /etc/init.d/Starter_-_Shutdown /etc/init.d/rc6.d/S01Starter_-_Shutdown

Le script Vidange est fonctionnel. Son rôle est démonter les différentes images précédemment montées puis de supprimer les points de montage.

Mon problème est que lors du redémarrage, les points de montages existent toujours. A priori le script Vidange n'a pas été lancé.
Pouvez-vous me dire ou se trouve l'erreur.
A tout hasard, je vous joint le code du script Vidange :
#   Déclarations des variables :
	Fichier_Res1="/home/totom/Documents/PGM/Script/Bash/Temp/Test_01.txt"
	Indice=0
	Tableau[$Indice]=""
	Index=0
	Repertoire=""

#   Se positionner sur le répertoire de montage :
	cd /
	cd mnt
	
#   Enregistrement des différents répertoires composant les points de montages dans
# un fichier temporaire :
	ls -l | grep "^d" | cut -d" " -f11 > $Fichier_Res1
	
#   Enregistrement des chaînes composants le fichier temporaire dans un tableau :
	exec 3<$Fichier_Res1 			# Ouverture du descripteur du fichier.
	while read -u3 ligne 			# Lancement d'une boucle de lecture.
	do 
   
	  Tableau[$Indice]=$ligne			# Imputation du nom du répertoire dans le tableau.
	  
	  Delta=`expr $Indice + 1`			# Incrémentation de l'indice du tableau.
	  unset ligne				# Suppression de la variable ligne.
	  unset Indice 				# Suppression de la variable Indice.
	  Indice=$Delta				# Permutation des valeurs.
   
	done
	exec 3<&-					# Fermeture du descripteur du fichier.

#   Quantification du nombre d'éléments constituant le tableau :
	nb_elements=${#Tableau[@]}

#   Boucle de travail : Effectue les démontages et suppression de chaque point
# de montage.
	for i in "${Tableau[@]}"					# Lancement de la boucle de travail.
	do
	Repertoire=${Tableau[$Index]}		# Enregistrement du nom de fichier.
	Repertoires="/mnt/$Repertoire"		# Concaténation du chemin au nom de fichier.

		umount "$Repertoire"			# Démontage de l'image.
		rm -r "$Repertoire"			# Suppression du répertoire du point de montage.

	let "Index = $Index + 1"		# Incrémentation du compteur
	done

#   Nettoyage du fichier temporaire
	rm -r $Fichier_Res1

Poste le Saturday 12 January 2008 01:43:17
Répondre     Citer    
Re: Script à l'arret du PC
Envoyé par: totom7

J'ai pu régler le problème en mettant un lien du script dans le répertoire /etc/init.d/rc5.d via la commande :

ln -s /etc/init.d/Startup_-_Shutdown /etc/init.d/rc5.d/K01Startup_-_Shutdown

Merci

Poste le Monday 14 January 2008 13:37:17
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Script à l'arret du PC
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons