
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/