Como faço para gerar automaticamente links simbólicos?

0

Não tenho certeza se este é o lugar certo para postar isso (se não for, desculpe)

Devido a algumas restrições (e preferências), estou me encontrando em um beco sem saída. A máquina está executando o ProxmoxVE (hypervisor baseado em Debian / QEMU).

O problema é que o Proxmox não verifica dentro de subdiretórios de arquivos .iso (necessários para a implantação de VMs) e não posso modificar a estrutura do repositório de arquivos.

Estou tentando descobrir como gerar automaticamente links simbólicos com base na extensão de arquivo. Minha ideia é ter um diretório com mapeamentos dinâmicos para cada arquivo .iso, de forma que possa adicioná-los / removê-los facilmente.

Exemplo de estrutura de arquivos:

Folder A
 -Folder B
   -ISO A
 -Folder C
   -ISO B
   -ISO C
 -ISO D

Estrutura de arquivos necessária:

Folder A
 -ISO A
 -ISO B
 -ISO C
 -ISO D

Eu posso executar scripts conforme necessário, mas não possuo o conhecimento para escrever o script.

Qualquer ajuda seria muito apreciada!

Editar 1: tenho outra pasta que estou pensando em ter todos os links simbólicos armazenados em

    
por CelluloidRacer2 19.09.2018 / 23:35

1 resposta

0

Isso pode ser feito como um verso da seguinte maneira:

find "/path/to/FolderA" -type f -name "*iso" -exec  ln -s {} /path/to/symlinkfiles \;

Para transformar isso em um script

#!/bin/bash
SOURCEFILES="/path/to/folderA"
FLATTENEDFILEDIR="/path/to/folderB"

find "$SOURCEFILES" -type f -name "*.iso -exec ln -s {} $FLATTENEDFILEDIR \;

Estes funcionam da seguinte forma - o comando find procura por arquivos em um determinado local, o "tipo f" significa que ele procura apenas por arquivos, então symlinks e subdiretórios não são executados (mas os diretórios são procurados por arquivos), o * .iso espera que seja a extensão do arquivo.

A segunda parte (após -exec) é executada para cada arquivo e cria o symlink.

Você pode querer colocar algo como "rm -r $ FLATTENEDFILESDIR / *" no topo deste script, se for permitido remover links simbólicos existentes, para que você não tenha os mortos - MAS É VITAL VOCÊ DEFINIRAM FLATTENEDFILESDIR corretamente primeiro, pois a falha em fazer isso pode limpar a maior parte do seu sistema!

    
por 20.09.2018 / 01:43