Fique à vontade comigo porque sou novo na flock
ferramenta e não usei descritores de arquivos até onde sei.
Eu tenho um script bash que faz uma solicitação cURL e grava a saída em um arquivo chamado resp.txt
. Preciso criar um bloqueio exclusivo para poder gravar nesse arquivo e não me preocupar com vários usuários executando o script e editando o arquivo de texto ao mesmo tempo.
Aqui está o código que espero bloquear o arquivo, executar a solicitação e gravar no arquivo de texto:
(
flock -e 200
curl 'someurl' -H 'someHeader' > resp.txt
) 200>/home/user/ITS/resp.txt
Essa é a maneira correta de fazer isso? Meu script atual é um pouco mais longo que isso, mas parece quebrar quando adiciono a flock
sintaxe ao script bash.
Se alguém pudesse explicar como esses descritores de arquivos funcionam e me informar se estou bloqueando o arquivo corretamente, isso seria incrível!
flock
funciona? Eu sou novo nos descritores de arquivos: /curl
ainda pode gravar no arquivo. Observe que isso pode não ser seguro (ou pode nem funcionar) com o NFS, mas não use um script de shell para bloquear arquivos no NFS. Combash
, você também pode abrir o arquivo para leitura e gravação:200<> resp.txt
mas isso não deve mudar nada.