Scripts maintenance d'un serveur

Scripts maintenance d'un serveur - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 04-11-2016 à 18:15:09    

Bonjour,  
Je viens ici chercher un peut d'aide parce que j'essaye de me faire un petit script à intégrer dans un crontab afin d'automatiser un ensemble de taches tout les jours.  
 
Pour vous mettre dans le contexte j'ai un serveur à maintenir et pour ce faire je dois dans l'ordre :
Arreter le service avec mon user root
Ensuite je dois lancer un script de sauvgegarde avec mon user steam
Dans la foulée je dois lancer un autre script avec steam pour update mon serveur
Et enfin quand tout ceci est fait je doit de nouveau démarrer mon serveur.  
 
 
Aujourd'hui je fonctionne au crontab, en gros j'ai une ligne crontab par action mais ça implique je connaisse plus ou moins le temps de chaque action sachant que la sauvegarde et l'update sont carrément variable, si auourd'hui ça me prends deux minute, peut être que dans 6 mois ça m'en prendra 10.
 
Bref du coup je me suis dis, je vais me faire 1 simple script qui lance les tache les une à la suite de autre, comme ça dans mon crontab j'ai une seule ligne et je perd plus de temps tout se passe à la chaine.  
Seulement je n'arrive pas bien à maîtrise le changement d'utilisateur.  
Voici un exemple épuré et assez basique de ce que je veux faire.
 

Code :
  1. #!/bin/sh
  2. echo "Arrêt du serveur . . ."
  3. #service ark-srv stop
  4. echo "Serveur ark-srv arreté"
  5. echo "Passage en utilisateur steam et activation du bash"
  6. whoami
  7. su steam && bash
  8. echo "lancement du script de sauvegarde"
  9. #sh /home/steam/ark-admin/scripts/ark-svg.sh
  10. echo "Sauvegarde terminée"
  11. echo "Lancement da la mise à jour"
  12. #sh /home/steam/ark-admin/scripts/ark-update.sh
  13. echo "Sauvegarde faite"
  14. echo "Passage en compte root"
  15. exit
  16. exit
  17. whoami
  18. echo "lancement du serveur ark"
  19. #service ark-srv start
  20. echo "Serveur Ark redémarré"
  21. echo "Fin"


 
 


---------------
--- Mon topik d'Ach/Ven ---
Reply

Marsh Posté le 04-11-2016 à 18:15:09   

Reply

Marsh Posté le 05-11-2016 à 14:33:14    

salut,
 

Citation :

je n'arrive pas bien à maîtrise le changement d'utilisateur.  

en effet.
su ouvre une nouveau "contexte". Si tu n'y tapes pas de commande, il ne se passe rien, et tu dois taper Ctrl-D pour sortir de ce "contexte".
la suite du script est exécuté sous l'utilisateur qui lance le script.
 
tu dois utiliser l'option -c :

Code :
  1. su - steam -c 'cmd1
  2. cmd2
  3. cmd_n'

Reply

Marsh Posté le 05-11-2016 à 19:49:07    

Hello Watael,  
Merci pour ton explication, j'ai pas eu le réflexe de consulter le man su pour me tirer d'affaire.
En tout cas c'est bien vu il ne me reste plus qu'a fais un script clean avec ces options.
Merci !


---------------
--- Mon topik d'Ach/Ven ---
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed