Como montar o subdiretório em um disco rígido no Linux?

13

Vamos supor que eu tenha dois discos rígidos (A, B) e os seguintes diretórios:

  • / var / www
  • / var / www / upload

Atualmente, se eu enviar um arquivo para / var / www OU / var / www / upload; ele será salvo na unidade A.

Como faço para que a pasta / var / www / upload aponte para a unidade B. Portanto, se carregar um arquivo em / var / www / upload, ele será salvo na unidade B, mas quando carregar um arquivo em / var / www, ele será salvo na unidade A.


fonte

Respostas:

23

Eu assumi que o disco A não está montado como o sistema de arquivos raiz (/). Se for, simplesmente ignore as linhas com o driveA.

Edite seu / etc / fstab:

/ dev / diskA / var / www / auto padrões 1 2
/ dev / diskB / var / www / upload de padrões automáticos 1 2

Você pode substituir "auto" pelo sistema de arquivos existente nessa partição, mas as opções acima devem funcionar de qualquer maneira.

Se os discos A e B estiverem montados em outro lugar, você pode tentar a ligação simbólica:

ln -s / caminho / para / driveA_mountpoint / var / www /
ln -s / caminho / para / driveB_mountpoint / var / www / upload

Nota: / var / www e o diretório "upload" no driveA não devem existir ou isso falhará.

Pessoalmente, prefiro usar a opção bind do mount:

mount -o bind / var / www / / path / to / driveA_mountpoint
mount -o bind / var / www / upload / caminho / para / driveB_mountpoint

Considere editar / etc / fstab - provavelmente é o melhor caminho.

minder
fonte
3
Esta resposta assume que a unidade a não é a unidade raiz. se A for a unidade raiz, você precisará criar apenas um diretório vazio (/ var / www / upload) e criar uma entrada fstab para a unidade b no exemplo acima.
Roy Rico
3
@minder - para colocar um monte de bind no seu /etc/fstab:/path/orig /new/path/mount bind defaults 0 0
warren
1
Você tem um erro de digitação no primeiro bloco de código: /dev/diskB /ver/www/uploadvervar
Frederic Leitenberger 7/17
3

o disco rígido B está montado? Se for,

ln -s /path/to/hard/drive/B/mount/point /var/www/upload

De outra forma

mount -t <fstype> -o defaults /dev/<hard driver B> /var/www/upload
Cian
fonte
isso funcionará, mas acho que adicioná-lo ao fstab será uma solução melhor, pois ele remontará quando a máquina inicializar, enquanto não no seu exemplo.
Roy Rico