Différences entre les versions de « Suppression multi serveurs »
| Ligne 2 : | Ligne 2 : | ||
== Script principal == | == Script principal == | ||
#!/usr/bin/perl -w | #!/usr/bin/perl -w | ||
| Ligne 62 : | Ligne 62 : | ||
print "OK\n"; | print "OK\n"; | ||
exit(0); | exit(0); | ||
== 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
- !/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 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`;
- 2 close login: gavroche
$cmd = "/home/freesurf/bin/updatelogin $login"; ssh_connect('gavroche.freesurf.fr', $cmd);
- 3 delete web: lenine
$cmd = "/home/freesurf/bin/webdel $x $y $login"; ssh_connect('lenine.freesurf.fr', $cmd);
- 4 delete db: vendemiaire
$cmd = "/home/freesurf/bin/BDD_del $login"; ssh_connect('vendemiaire.freesurf.fr', $cmd);
print "OK\n"; exit(0);