O cron modifica o ambiente de execução e faz com que o servce não altere o nó de saída?

0

De acordo com o link , o cron modifica o ambiente de execução para executar um trabalho.

  1. Quando executo sudo service tor reload duas vezes diretamente no bash, sempre mostra dois endereços IP diferentes

    $ sudo service tor reload; torsocks  curl ipinfo.io/ip; sudo service tor reload; torsocks  curl ipinfo.io/ip
    12.345.678.901
    987.654.321.00
    

    É correto que sudo service tor reload provavelmente mude tor o nó de saída e, assim, alterar o endereço IP público?

  2. Mas quando eu crio um cron job em /etc/cron.d/myjob ,

    * * * * * tim (sudo service tor reload; torsocks  curl ipinfo.io/ip; sudo service tor reload; torsocks  curl ipinfo.io/ip) > /tmp/cron.log
    

    toda vez que eu verifico /tmp/cron.log , ele sempre mostra dois IPs idênticos endereços, embora o endereço IP mude de trabalho para job (quando o próximo trabalho agendado sobrescrever o log, ele mostrará dois endereços IP idênticos, não idênticos aos dois antes de sobrescrever). O mesmo quando insiro sleep 20 entre os dois recarregamentos:

    * * * * * tim (sudo service tor reload; torsocks  curl ipinfo.io/ip; sleep 20; sudo service tor reload; torsocks  curl ipinfo.io/ip) > /tmp/cron.log
    

    Como trabalho cron, por que sudo service tor reload não muda o endereço IP? Como posso fazer isso funcionar?

Obrigado.

    
por Tim 31.10.2018 / 14:51

1 resposta

0

A causa do problema é: na linha de trabalho, o comando usa sudo , enquanto o campo de usuário é um usuário não root tim . Eu não forneço a senha de tim solicitada por sudo .

Ainda estou tentando entender qual é a melhor prática de escrever o usuário e os campos de comando de uma tarefa cron. As tarefas do cron estão Arquivos '/etc/cron.d/' supostamente não contêm 'sudo'?

    
por 01.11.2018 / 12:42

Tags