Eu tenho um script rsync diário que faz backup dos meus dados em um disco rígido externo em /mnt/X
(raiz do disco rígido). Estou usando --link-dest
links físicos e evitando a duplicação de dados. Preciso mover todos os meus backups diários de /mnt/X
para /mnt/X/backups
sem perder os links físicos. Posteriormente precisarei alterar o script para backup no novo diretório de destino /mnt/X/backups
e procurar o backup do dia anterior no mesmo diretório.
Como você me sugeriria fazer a mudança?
Responder1
Você não precisa fazer nada de especial. Simplesmente,
mv /mnt/X/* to /mnt/X/backups/
(Você receberá um erro sobre não conseguir mover backups
para si mesmo).
Um link físico é basicamente um número de inode. Os arquivos com link físico têm o mesmo número de inode. Independentemente de como você os move dentro do mesmo sistema de arquivos, o número do inode não muda. Portanto, não há necessidade de nenhuma ação especial.
Experimente você mesmo com alguns arquivos simples /tmp
primeiro:
/tmp $ mkdir aa
/tmp $ touch aa/f
/tmp $ ln aa/f aa/g
/tmp $ mkdir aa/new
/tmp $ mv aa/* aa/new
mv: cannot move 'aa/new' to a subdirectory of itself, 'aa/new/new'
/tmp $ ls -il aa/new/
13185910 -rw-r--r-- 2 0 Apr 11 13:32 f
13185910 -rw-r--r-- 2 0 Apr 11 13:32 g