Eu uso um script de espera para automatizar a transferência de alguns arquivos de suporte para os terminais. Os arquivos de suporte são tarballed automaticamente antes de serem scp'ed no terminal de destino. Isso é feito por um programa interno que preenche automaticamente a senha do scp, para que não tenhamos que inserir a senha. Eu posso copiar os arquivos individuais sem problemas, mas quando tento copiar o arquivo tar.gz arquivo, ele altera as permissões do diretório / tmp. Eu tenho chmodding o diretório / tmp de volta para 1777 para as permissões e chowning para root.root, que é como normalmente é configurado, mas isso nem sempre funciona. Ele está causando erros de sqlite porque o sqlite não pode gravar um arquivo temporário em / tmp, o que é muito perturbador. Como posso determinar a causa exata disso? Eu sei que tem que estar relacionado ao arquivo tar.gz, mas fiquei com a impressão de que o tar preservaria as permissões no arquivo.
as permissões no arquivo dentro do meu diretório são:
-rw-rw-r-- 1 aembree aembree 88K Oct 2 15:20 dropin.tar.gz
Antes da transferência / tmp se parece com isso em um ls -al:
drwxrwxrwt 15 root root 8.4K Oct 2 15:08 tmp
Após a transferência / tmp é assim:
drwxrwxr-x 15 10539 10539 8.4K Oct 2 15:01 tmp
O comando tar sendo executado é o seguinte:
tar -vPczf /home/aembree/bin/resources/dev/dropin.tar.gz --exclude='helperscript' -C $dropinlist . > /home/aembree/bin/resources/logs/tarlog
Quando o arquivo estiver na máquina remota, espere que execute o seguinte comando para descompactá-lo:
send "cd /tmp ; tar -xzf dropin.tar.gz ; rm dropin.tar.gz ; cd ;\n"