crie um espelho de diretório unidirecional no Ubuntu 10.10

crie um espelho de diretório unidirecional no Ubuntu 10.10

Eu uso um laptop com disco rígido menor que o externo em casa. Quero poder espelhar o conteúdo da instalação completa, ou seja, o sistema operacional (e toda a partição "/") como um espelho completo, o que significa que o que é excluído em um local é excluído em ambos. Presumo que posso usar qualquer um dos discos rígidos para inicializar e ter um sistema idêntico e, quando os dois discos rígidos estiverem lá, eles serão sincronizados.

A próxima coisa que quero fazer é um pouco mais confusa. Quero copiar os arquivos do usuário, ou seja, downloads, fotos, etc. (o diretório "/home"), mas quero que seja apenas de uma maneira, para que o disco rígido externo maior contenha tudo e o que foi excluído na instalação NÃO seja excluído no externo. basicamente movendo os arquivos em vez de espelhá-los. Gostaria, porém, que alguns arquivos, os mais recentes, fossem espelhados e estivessem disponíveis em ambos os discos rígidos.

a questão seria como faço para fazer isso? Sou novo nesse tipo de coisa e estou um pouco confuso. Imagino que preciso usar o rsync, mas não sei como fazê-lo.

desde já, obrigado.

Responder1

A solução é utilizar corretamente a opção --delete de rsync. NÃO usar o sinalizador fará com que o destino colete todos os arquivos que já foram sincronizados e os itens excluídos da origem não serão removidos do destino.

No seu caso, você deseja fazer uma sincronização completa usando / como fonte, mas --exclude /home para que não seja avaliado. Algo como rsync -a / /mnt/external/ --delete --exclude /home --exclude /mnt, então faça um segundo rsync para casa sem excluir comorsync -a /home/ /mnt/external/home/

informação relacionada