Serão criado dois scripts em Perl para realizar a tarefa. oldServer é uma máquina que utilizar o Sendmail com mbox. newServer é uma máquina que vai usar Postfix e esquema mbox.
Desligar o oldServer.
Primeiro Script (oldServer) mailtombox.pl :
Anexar ao final do arquivo mbox em cada pasta do usuário em oldServer o conteúdo de /var/mail/<usuario>.
Para isso, o script usará um arquivo de texto chamado users com o login de todos os usuários. É interessante editar este arquivo pelo menos uma vez para retirar os usuários do sistema. A seguir, o dito cujo:
Pegar todos os usuários do oldServer.
Utilizando o arquivo passwd.oldsServer e shadow.oldServer no diretório do script.
Criar no newServer todos usuários do oldServer que ainda não existam.
Utilizando o comando adduser.
Conservar as senhas do servidor oldServer.
Atualizando o /etc/shadow do newServer com as entradas de shadow.oldServer.
Copiar o contéudo de todos os diretórios da pasta /home do oldServer para a pasta /home do newServer.
Utilizando o scp com o recurso de chave compartilhada para evitar a necessidade de senha.
Preservar as permissões nos diretórios.
Para permitr o uso do scp sem necessidade de senha, fiz um pequeno ajuste temporário, para permitir login sem senha no ssh. Suponha que existam duas máquinas A e B e um usuário x. A partir de A , x deseja poder logar em B sem senha. Os passos seriam:
x@A:~$ ssh-keygen -t rsa
Não informe passphrase.
x@A:~$ ssh x@B mkdir -p .ssh
Aqui informe a senha pela última vez.
x@A:~$ cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
É isso aí. Agora ssh x@B deve permitir o login direto, assim como o scp deve permitir a cópia de arquivos sem senhas.
Esta artimanha é bem legal para escrever scripts que disparem comandos em várias máquinas.
Post a Comment
Nenhum comentário:
Postar um comentário