Mova os diretórios de backup diários (feitos por rsync) para outro diretório na mesma partição

Mova os diretórios de backup diários (feitos por rsync) para outro diretório na mesma partição

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-destlinks físicos e evitando a duplicação de dados. Preciso mover todos os meus backups diários de /mnt/Xpara /mnt/X/backupssem perder os links físicos. Posteriormente precisarei alterar o script para backup no novo diretório de destino /mnt/X/backupse 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 backupspara 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 /tmpprimeiro:

/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

informação relacionada