Suppression multi serveurs

De BlaxWiki
Aller à la navigationAller à la recherche

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);

Script 2 sur gavroche

dans /home/freesurf/bin

#!/bin/sh
LOGIN=$1

if [ -z $LOGIN ]; then
 exit 42;
fi
echo "update clarapw set mail_flags='inactive' where login='"$LOGIN"';" | mysql -u root --password='xxxxx' clarapw
echo "update clarapw set login='1~"$LOGIN"' where login='"$LOGIN"';"  | mysql -u root --password='xxxx' clarapw

exit 0