Estou usando o Opensuse Leap 42.2 e uso o zypper como meu gerenciador de pacotes preferido. Eu fiz atualizações incrementais regulares do meu diretório home para uma unidade externa através do script:
#!/bin/bash
source="/home/florian/"
dest="/run/media/florian/My Passport A/increm-bu"
zypperfile="${source}Documents/installed-zypper-packages"
rpmfile="${source}Documents/myinstalledpackages.txt"
zypper --xmlout search --installed-only -v > "$zypperfile"
rpm -qa --qf "%{NAME} " > "$rpmfile"
rsync -avHAXS --delete "$source" "$dest"
exit 0
Por isso, também fiz backup de informações adicionais de pacotes instalados pelo meu gerenciador de pacotes. Agora estou tendo uma nova máquina e quero migrar "o máximo possível" para minha nova máquina. Então eu tenho as seguintes perguntas:
.
. Eu acho que essas pastas e arquivos são criados por programas (ou por mim) para salvar coisas de configuração relacionadas. Definitivamente eu por exemplo manteria arquivos em $HOME/.vim/
Qual é o comando correto para usar, se meus requisitos forem:
Copie todos os arquivos e pastas, exceto os excluídos com o --exclude
opção da minha unidade externa para o meu novo diretório home (com opções
como no comando original, ou seja, preservar hard-links, preservar ACLs,
...).
Se houver um novo arquivo no meu novo $ HOME com um nome idêntico, sobrescreva-o.
Não exclua arquivos no meu novo $ HOME que não podem ser encontrados no meu backup.
Minha ideia para o roteiro seria:
#!/bin/bash
# Adjust foldernames maybe
source="/run/media/florian/My Passport A/increm-bu/"
dest="/home/florian/"
rsync -avHAXS --exclude '<configuration-stuff>'"$source" "$dest"
exit 0