Différences entre les versions de « Suppression multi serveurs »

De BlaxWiki
Aller à la navigationAller à la recherche
Ligne 2 : Ligne 2 :


== Script principal ==
== Script principal ==
<pre>
 
#!/usr/bin/perl  -w
#!/usr/bin/perl  -w


Ligne 62 : Ligne 62 :
print "OK\n";
print "OK\n";
exit(0);
exit(0);
</pre>
 


== Script 2 sur gavroche ==
== Script 2 sur gavroche ==

Version du 25 mars 2009 à 09:46

Ce script est envoyé sur un serveur et via une clé publique ssh, il va exécuter d'autre commande sur d'autres sereurs

Script principal

  1. !/usr/bin/perl -w

use Net::SSH2; use Net::SSH2::Channel;

sub ssh_connect {

   my ($host,
       $cmd)  = @_;
   my $ssh2 = Net::SSH2->new() ;
   $ssh2->connect($host) or die;
   $ssh2->auth_publickey('freesurf',  '/root/bin/freesurf.key.pub', '/root/bin/freesurf.key');
   if ($ssh2->auth_ok) {
       print "Connection sur: $host\n";
       my $channel = $ssh2->channel();
       $channel->exec($cmd);
       print "On execute: $cmd\n";
       return (0);
   }
   print "KO\n";
   return (1);

}

sub _exit {

       print "Usage:  SuppressionCompteFreesurf.pl [login]\n";
       exit(0);

} my ($cmd,

   $login,
   $x,$y);

$login = (defined($ARGV[0])) ? $ARGV[0] : _exit; $x = substr($login, 0, 2); $y = substr($login, 2, 2);


  1. 1 delete Mail: action locale

print "On vire le maildir de: $login vers /archivage/tobedeleted"; $cmd = "/bin/mv /freesurf_mail/freesurf.fr/_".$x."/_".$y."/".$login." ". "/archivage/tobedeleted/$login"; `$cmd`;

  1. 2 close login: gavroche

$cmd = "/home/freesurf/bin/updatelogin $login"; ssh_connect('gavroche.freesurf.fr', $cmd);

  1. 3 delete web: lenine

$cmd = "/home/freesurf/bin/webdel $x $y $login"; ssh_connect('lenine.freesurf.fr', $cmd);

  1. 4 delete db: vendemiaire

$cmd = "/home/freesurf/bin/BDD_del $login"; ssh_connect('vendemiaire.freesurf.fr', $cmd);

print "OK\n"; exit(0);


Script 2 sur gavroche