Você pode usar o FUSE para fornecer um hook de userland em partes específicas do sistema de arquivos, fazendo com que os scripts sejam executados quando os arquivos apropriados são frobbed .
Recentemente, acabei de ter uma ideia que acabou por ser bastante útil em determinadas circunstâncias. Mas primeiro alguma explicação simples:
No Perl, você tem a opção de vincular variáveis a algumas funções que são chamadas quando a variável é usada. Por exemplo. for: "Escreva as alterações dessa variável em HD toda vez que for alterado". Isso é muito útil em muitas situações. Veja o perldoc para explicações mais detalhadas: link
Então eu tive uma ideia: É possível ligar arquivos no Unix / Linux em geral (ou em qualquer sistema de arquivos específico, apenas por curiosidade, embora eu use principalmente o ext4) para scripts?
Um exemplo em que isso seria realmente útil seria crontab. Este arquivo não é muito simples de manter automaticamente se você tiver muitos cronjobs e muitas pessoas diferentes trabalhando nele. Toda vez que precisa ser mudado e assim por diante. Aqui, um banco de dados seria útil, onde todas as informações necessárias são armazenadas + um script que transforma as informações no banco de dados em algo que o cron possa entender.
Então, a minha ideia basicamente é, neste exemplo, não ter o arquivo crontab, mas em vez de tê-lo vinculado a um script, digamos /root/crontab.pl
.
Em minha mente, toda vez que o sistema operacional tenta encontrar o crontab em si, ele visualiza: "Oh, o arquivo não existe, no entanto. Ele está ligado a isso e a isso. Eu deveria executar esse script e a saída dele será usado como se fosse o arquivo ", sendo totalmente transparente para os próprios programas.
Naturalmente, existem outras maneiras de conseguir isso: substituir o arquivo, isso e aquilo e assim por diante, mas a ideia básica deve ser clara.
Na verdade, eu não encontrei nada parecido em minha pesquisa, porque eu principalmente programo Perl e estou acostumado a chamar aquilo de "empate" e não sei nenhuma outra palavra para isso, que pode ser minha falha.
Então: Existe alguma coisa? E, se não: alguma coisa fala contra tal recurso? Eu realmente acho que há muitas situações em que isso seria incrível.
Você pode usar o FUSE para fornecer um hook de userland em partes específicas do sistema de arquivos, fazendo com que os scripts sejam executados quando os arquivos apropriados são frobbed .
Como você documenta isso? Como o próximo administrador do sistema descobrirá que o efeito colateral de executar um comando 7 milhões de vezes seria um excesso de logs, uma partição preenchida e um kernel panic? Esse recurso é propenso a abuso; da mesma forma que na programação, a teia de efeitos colaterais pode ser muito complicada e complicada para prever com precisão todas as conseqüências de uma pequena alteração.
Tags files perl filesystems