Eu acho que você já está na página certa. Você mencionou as duas coisas que eu teria sugerido.
O FUSE é aparentemente simples de ser preso. Eu tive uma pergunta semelhante a este um tempo atrás e uma das respostas mencionou o FUSE. Eu encontrei uma opção mais simples (que explicarei em um segundo), mas se isso não for desejável, vale a pena investigar o FUSE.
Meu problema é que eu tenho um diretório de entrada onde os clientes despejam todo tipo de lixo. Eu precisava de uma maneira de ter permissão para classificá-los em diretórios profundos (por exemplo, /work/client-name/project/document.ext
), mas ainda tenho uma compreensão de nível superior para ver o que há de novo. Escrevi um pequeno script bash que mantinha um diretório "recente" que continha links simbólicos para o conteúdo recente.
Algo tão simples quanto isso pode funcionar para você. Basta manter o encadeamento dos argumentos -not -name
ou filtrar positivamente se você tiver algo que possa procurar ...
#!/bin/bash
rm new-path/* # clean up old symlinks
find original-path -type d -maxdepth 1 -not -name folder2\
-exec ln -s -t new-path/ {} +
Este é apenas o primeiro nível, mas você pode expandi-lo para:
- Pesquise os diretórios que você deseja espelhar
- Crie diretórios novos (reais) em
new-path
- Repasse os novos diretórios e procure nas versões antigas os arquivos desejados, criando links simbólicos. Como o original, encontre algum aumento nos caminhos.
- A instrução inicial de limpeza também precisará ser
rm -rf new-path/*
porque são diretórios reais. Tenha cuidado com isso.