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 05/03/2008, à 16:23

jb33

ptit coup de main pour script bash

Bonjour tout le monde,

voila j'ai un tp a faire pendant les vacances et je bloque sur 2 partie donc si vous pouviez m'aider svp smile.
Voila l'énoncé :

1.3.1.5. Planification de tâches
• Gérer les droits d'accès à at et cron( at.allow, at.deny, cron.allow, cron.deny )
• Gérer les tâches at( listage / ajout / suppression / modification )
• Gérer les tâches cron ( listage / ajout / suppression / modification )
1.3.1.6. Gestion des disques
• Lister les partitions de votre/vos disque(s)
• Créer un système de fichier sur une partition
• Lancer un utilitaire de partitionnement( fdisk, cfsdisk, ... )
• Monter une partition locale (L'utilisateur spécifie la partition et le point de montage)
• Gérer la swap (Création, activation et désactivation)

Le tout doit etre contenu dans un .sh.
Merci d'avance.

#2 Le 05/03/2008, à 17:03

JérémieR

Re : ptit coup de main pour script bash

Pouvez-vous faire mes devoirs s'il vous plait.

Hors ligne

#3 Le 05/03/2008, à 17:54

Sysko le prospecteur

Re : ptit coup de main pour script bash

c'est moi  ou  tu es   à Supinfo  et ils t'ont  filé le méchant  tp   Linux ^^

si tel est le cas t'es pas obligé de  le faire   en bash  ( perso   je sais  que sa se faisait plutot bien  en C    ) et  pas obligé  qu'il se finisse par .sh   même si c'est un script bash  ,
de plus   si  tu es  à Supinfo et que c'est le tp linux  ,  un simple coup d'oeil  à  ton  essentiel de cours  répondra de façon claire et pedagogique  à tes questions

ps :   j'ai  bientot  des  partiels  , aucun  ubunteros sympa pour  réviser  à ma place ?

Dernière modification par Sysko le prospecteur (Le 05/03/2008, à 18:00)


Projet tatoeba : projet collaboratif visant à créer un corpus de phrases d'exemples traduites dans le plus de langues possibles

Hors ligne

#4 Le 05/03/2008, à 19:30

jb33

Re : ptit coup de main pour script bash

c'est bien le tp Supinfo, sauf que le formateur nous oblige a le faire en bash sad.
Apres l'essentiel ca fait 2 jour que je suis dessus et j'ai quand meme énormément de mal, donc si je vous pouviez me donner juste un tit point de départ au moins ca srai sympa smile.

#5 Le 05/03/2008, à 21:10

Yannick_LM

Re : ptit coup de main pour script bash

Je comprends pas la question ... Tu dois faire quoi, exactement ?

Pour le 1.3.5, tu gagnerai à prendre une distribution Linux quelconque, et à regarder du côté de man at et man cron, y a tout dedans.

Pour le 13.6, ce qu tu cherches se trouve de toutes façons dans /etc/fstab et/ou mount.

Et bash me paraît tout à fait l'outil adapté pour ce faire.

EDIT : suit au message de Sysko le prospecteur
Et bash me paraît être un outil adapté pour ce faire. cool

@Sysko le prospecteur
Sinon, deux gros +1 : pour le début du script et pour l'avantage d'avoir un débugger.
(je me sers quasiment tout le temps de bash pour faire ces choses-là, et jamais du C, à vrai dire)

Dernière modification par Yannick_LM (Le 06/03/2008, à 01:35)


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#6 Le 06/03/2008, à 00:48

Sysko le prospecteur

Re : ptit coup de main pour script bash

En fait vu  qu'il  y a un nombre assez  consequent de  question , qui  doit regrouper  en gros tout les  outils de gestion d'un ordinateur  sous linux  (  gestion utilisateur / reseaux / disque / planification  etc ... etc... )  un  langage  comme le c   perso m'avait semblé plus adpaté ( surtout avec la  glib )  car  on  a un debuggueur etc...  alors  que  si l'on fait un erreur dans un script  bash il faut la plupart du temps trouver l'erreur âr sois  même  ( bon  on a quand même un indication de  la ligne  ou cela  ne  marche pas  mais bon .... )

sinon je repete  dans l'essentiel  partie  cron / at  il t'explique clairement  quel commande  fait quoi et comment ,  comment sont organisé les  fichier crontab etc...

idem  sur comment est organisé le  fichier fstab  , donc  à part faire un condensé  des choses  qui se trouvent déjà  dans ton essentiel ( chose que tu peux  faire  toi même   )  on ne peut pas faire  grand  choz pour toi

à la  rigueur   comme  à chaque fois qu'un étudiant poste  ici  pour qu'on fasse ses  devoirs   je peux te dire 


"  poste  au moins  un début de script " 
et  ensuite  on pourra  voir  ou tu  bloque  et t'aider en conséquence , car bon la manière dont tu post ton .... poste  on a l'impression   que tu dit : " bon  les gars j'ai pas envie de  me fouler et vu que les linuxiens sont des mecs sympa alors  vous allez  me faire  ça au noir  et depêchez  vous car bon j'ai une date  butoire
de plus  une personne qui ne connait pas  ce que tu as à faire aura  à du mal  à comprendre tes attentes  vu que tu  fais un simple copier coller de l'énoncé  hors de tout contexte

voila tout ce que j'avais à dire

1 - relis ton essentiel les réponses sont dedans
2 - commence à faire un debut de script pour ces parties là
3 - si tu n'y arrives toujours pas  reposte  ici , avec la partie de ton script qui bloque en expliquant clairement ou tu bloque etc... et on sera heureux de t'aider

Dernière modification par Sysko le prospecteur (Le 06/03/2008, à 00:53)


Projet tatoeba : projet collaboratif visant à créer un corpus de phrases d'exemples traduites dans le plus de langues possibles

Hors ligne

#7 Le 06/03/2008, à 16:21

jb33

Re : ptit coup de main pour script bash

j'ai reussi a pondre un tit code mais j'ai encore besoin d'un tit coup de main.
Voici mon code:

#! /bin/bash
#Plannification des taches

gererDroit()
{
clear;
	read -p " voulez vous gerer les droit at(1) ou cron(2)? " choix;
		case $choix in
		1)
			read -p " voulez vous autoriser(1) ou interdire(2) l'acces a at? " at;
				case $at in 
				1)
					echo " vous allez autoriser l'acces a at ";
					
					;;
				2)
					echo " vous allez interdire l'acces a at ";
					
					;;
				*)
					echo " Ceci n'est pas un choix valide, retour au menu "
					gererDroit;
					;;
				esac
				break
				;;
		2)
			read -p "voulez vous autorise(1) ou interdire(2) l'acces a cron? " cron;
				case $cron in  
				1)
					echo " vous allez autoriser l'acces a cron ";
					
					;;
				2)
					echo " vous allez interdire l'acces a cron ";
					
					;;
				*)
					echo " Ceci n'est pas un choix valide, retour au menu "
					gererDroit;
					;;
				esac
				break
				;;
		esac
		break
}

gererAt()
{
clear;
echo " Que voulez vous faire? "
echo " Listage(1) / ajout(2) / suppression(3) / modification(4) ? " 
read choix
	case $choix in
	1)
		echo " liste des taches at en cour " 
		atq
		;;
	2)
		echo " ajout de tache at " 
		
		;;
	3)
		echo " suppression des taches at en cour "
		atrm
		;;
	4) 	
		echo " modification des taches at en cour "

		;;
	*)	
		echo " Ceci n'est pas un choix valide, retour au menu "
		gererAT;
		;;
	esac
	break
}
	
gererCron()
{
clear;
echo " Que voulez vous faire? "
echo " Listage(1) / ajout(2) / suppression(3) / modification(4) "
read choix
	case $choix in 
	1)
		echo " Liste le contenu du fichier crontab courant "
		crontab -l;
		;;
	2)
		echo " Ajout de taches crontab " 
		crontab -e;
		;;
	3)
		echo " Suppression de taches crontab "
		crontab -e;
		;;
	4)
		echo " Modification de taches crontab " 
		crontab -e;
		;;
	*)
		echo " Ceci n'est pas un choix valide, retour au menu "
		gererCron;
		;;
	esac
	break
}

menu()
{
clear;
echo " ***Menu*** "
echo " Gerer les droit d'acces a at et a cron (1) "
echo " Gerer les taches at ( listage / ajout / suppression / modification ) (2) "
echo " Gerer les taches cron ( listage / ajout / suppression / modification ) (3) "
echo " Que desirez vous faire ?"
read fct
	case $fct in 
	1)
		gererDroit;
		;;
	2)
		gererAt;
		;;
	3)
		gererCron;
		;;
	*)
		echo " Ceci n'est pas un choix valide, retour au menu "
		menu;
		;;
	esac
	break
}
menu;

Je voudrais donc savoir pour la fonction gererDroit comment je peux autoriser/interdire l'acces et pour la fonction gererAt comment je peux ajouter/modifier.

Merci d'avance pour ceux qui me repondront smile

#8 Le 06/03/2008, à 20:29

Sysko le prospecteur

Re : ptit coup de main pour script bash

Sinon je suis complétement d'accord  surle fait que pour de   petit projet  ,  portant  sur des commandes linux qui plus  est, un bon script  bash  sera peut êter plus facile à mettre en place  (  enfin  après  il est vrai que pour une personne à l'aise avec le scripting  bash cela reste aussi valable pour des projets plus conséquents ....)

sinon  pour gerer les  droits d'accès  à at

c'est moi ou on te parle dans l'énoncé ( et dans ton essentiel , je sais je suis  casse c****  )  d'un fichier   at/cron.allow/deny   dedans tu met les  non des utilisateurs qui ont  (pas)  accès  à  at / cron   et  voila  le tour est   joué , après   pour les ajout / modifications c'est de la simple édition de fichier texte  ( à coup de  echo et de grep  sa se  fait très bien  (  ou   , dans le cas de la modification  ,   tu peux t'amuser à utiliser  sed ou awk  pour montrer que t'es  un warrior  , mais  encore une fois   du echo et du grep  feront aussi très bien  l'affaire )

voila  sinon  après si ta le temps   des  potes de ma promo  qui avait fait sa en  bash  ( les  pauvres ^^ )   avait utilisé   je sais plus trop quoi   pour donner un rendu  graphique  à leur  script  bash  (  j'ai plus  le nom en tête désolé , moi j'avais fais avec la libncurses  comme un gros mazo ^^ )

ps  :  tu pourrais  même  optimiser ton  code  ( mais la je  chipote )   en faisant qu'une seule fonction pour at et cron vu  que les fichier  deny et allow de cron /at  ont le même fonctionnement  , mais  bon  après   c'est vrai que c'est la classe de dire à ses potes ( geeks, les autre s'en foutent je pense )   " ouais  j'ai fait  15 000 lignes de script pour mon projet " tongue

Dernière modification par Sysko le prospecteur (Le 06/03/2008, à 20:32)


Projet tatoeba : projet collaboratif visant à créer un corpus de phrases d'exemples traduites dans le plus de langues possibles

Hors ligne