Como uso o conteúdo do arquivo como argumentos no crontab

Como uso o conteúdo do arquivo como argumentos no crontab

Eu tenho um arquivo ("IPcontainer") que contém um endereço IP singular e quero usá-lo da seguinte forma:

6tunnel 80 $(< IPcontainer) 80

Infelizmente, isso só funciona quando faço isso manualmente, em vez de quando uso como um cronjob:

0 * * * * 6tunnel 80 $(< /home/<MYUSERNAME>/IPcontainer) 80

Até onde eu sei, o cron depende de caminhos absolutos.

Como preciso alterá-lo para que funcione?

Responder1

Isso porque cronusa /bin/shpor padrão - que não suporta a $(< file)sintaxe

Você pode substituir

$(< /home/<MYUSERNAME>/IPcontainer)

pelo POSIX

$(cat /home/<MYUSERNAME>/IPcontainer)

ou diga cronpara usar o bash explicitamente

SHELL=/bin/bash
0 * * * * 6tunnel 80 $(< /home/<MYUSERNAME>/IPcontainer) 80

Veja também

informação relacionada