Criando arquivos temporários durante a execução do seu programa

Em determinados momentos da programação, pode ser necessário criar algum arquivo temporário durante a execução do seu shellscript. Este arquivo pode ser para controle de execução, para processamento interno ou até mesmo para trocar informações com outros programas. Logicamente que, como o acesso à disco é consideravelmente LENTO em comparação com acesso à memória RAM, o recurso de criação de um arquivo temporário em disco deve ser utilizado sempre que não houver alternativa possível utilizando memória (variáveis, vetores, etc).

Em sistemas baseados em UNIX, este arquivo geralmente é criado no diretório apropriado para arquivos temporários do sistema: /tmp e sua nomenclatura deve ter um identificador aleatório, pois seu shellscript pode estar sendo executado em múltiplas instâncias, por outros usuários por exemplo. Imagine 40 usuários executando seu shellcript que usa um arquivo de nome fixo, chamado /tmp/tempfile.txt para processar informações particulares de usuário. Vai ter problemas… Então, segue abaixo uma maneira bem útil pra criar arquivos temporários ocultos (com o ‘.’ na frente) de nome aleatório usando o timestamp ANO-MES-DIA_HHMMSS_NANOSEGUNDOS, que nunca mais vai ser o mesmo salvo se você consiga um processador capaz de processar muito, mas muito rápido pra criar dois ou mais arquivos com o mesmo nome no mesmo nanosegundo ;).

TMPFILE=”/tmp/.tmpfile_`date ‘+%F_%T_%N’ | tr -d :`”
echo -n > $TMPFILE
echo “processando1” >> $TMPFILE
echo “processando2” >> $TMPFILE
rm -f $TMPFILE

Breve explicação:

Inicialmente declaro a variável TMPFILE com o nome do arquivo oculto a ser criado, usando o comando date com parâmetros %F para exibir ano-mes-dia, %T para exibir hora:minuto:segundo e %N para nanosegundos;
Em seguida inicializo a criação do arquivo com conteúdo vazio com o comando echo -n > $TMPFILE (pode ser feito cou touch $TMPFILE também);
As duas linhas com a palavra “processando” significa que o shellscript estará utilizando o arquivo temporário;
Por fim, a última linha remove o arquivo temporário tem pedir confirmação, para manter o sistema limpo;

Por: Hudson Murilo dos Santos

Fonte de pesquisa:

http://www.advancedlinuxprogramming.com/alp-folder

3 thoughts on “Criando arquivos temporários durante a execução do seu programa

Leave a Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *