Isso funciona perfeitamente, ou seja,
$ crontab -l
TESTDIR=/home/user/test
* * * * * $TESTDIR/script.sh
Dê uma olhada em
man 5 crontab
mais informações são encontradas lá.
No nosso servidor linux, temos muitas entradas.
Muitas entradas são assim:
15 13 * * 3 /very/long/path/to/binary/run.sh ...
Essas entradas seriam mais fáceis de manter se eu pudesse escrever:
15 13 * * 3 $FPATH/run.sh
Onde eu poderia escrever este mapeamento:
FPATH=/very/long/path/to/binary
Basta incorporar isso no próprio crontab, por exemplo coloque sua linha FPATH (sem espaços) como a primeira linha do crontab.
Você pode dar uma olhada no Arch Wiki ( link ). Na seção "Definindo variáveis globalmente", você encontra esta resposta:
A maioria das distribuições Linux lhe diz para alterar ou adicionar definições de variáveis de ambiente em / etc / profile ou outros locais. Certifique-se de manter e gerenciar as variáveis de ambiente e preste atenção aos vários arquivos que podem conter variáveis de ambiente. Em princípio, qualquer script de shell pode ser usado para inicializar variáveis ambientais, mas seguindo as convenções tradicionais do UNIX, essas instruções devem estar presentes apenas em alguns arquivos específicos. Os seguintes arquivos devem ser usados para definir variáveis de ambiente globais em seu sistema: / etc / profile, /etc/bash.bashrc e / etc / environment.
PS: Eu estou no trabalho e não posso testá-lo. Espero que funcione.
Tags cron