/tmp
, mas os dados armazenados serão excluídos após a reinicialização
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:
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.
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).
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.
@ 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)