Algo como isso? (Em um loop, cron ou o que você estiver usando atualmente.)
(date; my_sensor_command) >> log_file
Eu quero enviar dois comandos para um arquivo. Eu quero a hora exata (data) e temperatura (sensores) para ir para o arquivo a cada 5 minutos. Eu sei como enviar um comando para um arquivo, mas dois? Como escrever esse roteiro?
Agrupe todos os comandos entre parênteses, porque isso os executará em uma sub-shell da qual você pode redirecionar facilmente a saída:
while sleep 5m
do
(date +%Y-%m-%d_%H:%M | tr -d '2'; echo -n ' '; \
/etc/rc.d/init.d/lm_sensors status | grep '^CPU Temp') >> /your/log/file
done
Se eu entendi sua pergunta corretamente - você deseja enviar dois valores para o mesmo arquivo -, isso pode ser o que você está procurando:
TIME="'date'"
SENSOR="56"
echo "$TIME $SENSOR" >> /path/to/a/file
Talvez eu esteja interpretando mal a pergunta, mas parece que todas as respostas estão anexando a um arquivo. Eu li sua pergunta para ser que você quer o mesmo resultado em 2 arquivos. Se é isso que você está procurando, tee é uma maneira de conseguir isso:
echo "Stuff to output"|tee -a file1 file2
Referindo-se a hlovdal post, você pode definir um cron assim:
$ crontab -e
*/5 * * * * (echo date +%Y%m%d%H%M%S
| tr -d '2'; echo -n ' '; sensors | grep "CPU Temp:" | awk '{ print $3 }' )>> /var/log/sensors.log