Como passar de um sistema de arquivos para outro sem alterar a estrutura de diretórios?

Como passar de um sistema de arquivos para outro sem alterar a estrutura de diretórios?

/dev/xvda1está cheio, então quero mover seu conteúdo para meu udevsistema de arquivos de 30 GB.

Filesystem      Size  Used Avail Use% Mounted on
udev             30G  4.0K   30G   1% /dev
tmpfs           5.9G  768K  5.9G   1% /run
/dev/xvda1      7.8G  7.4G     0 100% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none             30G     0   30G   0% /run/shm
none            100M     0  100M   0% /run/user

Como eu posso fazer isso?

Pilha: máquina EC2 Ubuntu.

Responder1

Não use cp para copiar grandes quantidades de dados.
Use o rsync também, pois ele pode ser reiniciado se for interrompido. Use o seguinte:

rsync -az -H /path/to/source  /path/to/destination

-a : Archive mode (i.e. recurse into directories, and preserve symlinks, file permissions, file modification times, file group, file owner, device files & special files) <br>
-z : Compress file data during the transfer <br>
-H : Preserve hard links (i.e. copy hard links as hard links)

Editado conforme apontado pelos comentaristas, não vi que este é o seu /diretório.
Se estiver usando bash ou zsh como shell, adicione:

--exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"}

Agora torna-se

rsync -az -H --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /path/to/source  /path/to/destination 

Caso contrário, se estiver usando um shell diferente, você deverá fazer uma --excludeinstrução para cada diretório diferente.

Responder2

Na maioria dos casos, você não moveria os arquivos de um sistema de arquivos para outro. Se você estiver ampliando o disco em uma máquina virtual ou obtendo mais espaço do mesmo disco, você aumentaria a partição que contém o sistema de arquivos e depois ampliaria o sistema de arquivos para preencher a partição (quais comandos usar dependem do tipo de partição e do tipo de sistema de arquivos ). Se você estiver migrando para um novo disco, geralmente é mais rápido e fácil copiar a partição como um todo e ampliá-la como acima.

No seu caso, por se tratar de uma máquina virtual, primeiro você precisará fornecer um disco maior. Como observado porMark Plotnick em um comentário, Verifica aGuia AWS; há uma interface web para anexar um novo volume e também há uma interface web para realizar a cópia (criando e restaurando um instantâneo).

Observe que /devnão é um sistema de arquivos de armazenamento, é um sistema de arquivos na RAM. Seus 30 GB gratuitos são a quantidade máxima de dados que podem ser armazenados lá, mas isso ocupa um pedaço da sua RAM e é perdido quando você reinicia. Outra vez,não mova nenhum arquivo para /dev, eles serão excluídos quando você reiniciar.

informação relacionada