Existe uma pasta acessível a todos os processos e usuários em todos os momentos?

4

Eu tenho um script que reúne informações de depuração do ambiente em execução e preciso descobrir se posso salvar essas informações.

Pode ser chamado a qualquer momento:

  • na inicialização
  • quando o sistema está em execução
  • no encerramento, etc ...
  • e por qualquer usuário ou processo / serviço.

Eu preciso de uma pasta que esteja acessível a todo momento para TUDO.

Isso já existe? Se não como posso fazer isso acontecer?
Como isso é para fins de depuração, eu não me preocupo com segurança, tudo será removido antes de bater prod.

    
por TCZ8 30.04.2014 / 15:57

4 respostas

5

/tmp , mas os dados armazenados serão excluídos após a reinicialização

    
por 30.04.2014 / 16:01
4

Você pode criar um novo diretório de nível superior (em / ), por exemplo, com o nome test e defina as permissões de forma adequada:

sudo mkdir /test
sudo chmod 777 /test

tornando-o um diretório de nível superior, você não precisa se preocupar com permissões de diretórios intermediários.

Em código / scripts, eu testaria se o diretório existe e, se não existente, eu não criaria, assumindo que este era um sistema de produção. Certifique-se de que quaisquer rotinas que tentem gravar / ler do diretório falharão graciosamente (no caso de eu esquecer de remover parte do código de teste do sistema de produção).

    
por 30.04.2014 / 16:33
2

Você também pode usar /dev/shm/ , este é o espaço alocado na memória. O espaço é limitado pela quantidade de RAM, mas, como está na memória, não há latência, ao contrário de /tmp/ em um disco rígido (e não no SSD, devido à latência próxima de zero). Por isso, pode ser uma alternativa para /dev/shm/ se você precisar armazenar uma pequena quantidade de dados. Em algumas distribuições Linux, pode estar localizado em /run/shm/ .

Veja tmpfs para mais informações.

    
por 01.05.2014 / 00:45
1

@ A resposta de Anthon é provavelmente a melhor que atende às suas necessidades declaradas, mas há uma lacuna que não pode ser superada pela resposta dele ou @Creeks que é antes e durante o fsck. Na maioria dos casos, os sistemas semelhantes a unix inicializam com sua partição raiz somente para leitura, verificam se há erros e remontam-no para leitura de gravação se tudo estiver correto. Essa é uma boa ideia, mas deixa uma janela na qual sua ferramenta não funciona. Se isso não incomoda você, o @Anthon é seu homem. Se você precisar trabalhar durante essa janela, a única solução viável é um segundo computador e algumas portas seriais. Isso tem algumas desvantagens, incluindo requisitos adicionais de hardware e falta de velocidade, mas tem a principal vantagem de que as portas seriais estão disponíveis mais cedo (com a notável exceção de adaptadores seriais USB que a maioria das portas seriais estão disponíveis antes do init)

    
por 30.04.2014 / 18:45