我想输出两个命令到一个文件。 我想要每5分钟logging一次确切的时间(date)和温度(传感器)。 我知道如何输出一个命令到一个文件,但两个? 如何编写这样的脚本?
像这样的东西? (在循环中,cron,或者你正在使用的任何东西)
(date; my_sensor_command) >> log_file
将所有命令分组在括号中,因为这将在一个子shell中执行,您可以轻松地redirect输出:
while sleep 5m do (date +%Y-%m-%d_%H:%M | tr -d '\012'; echo -n ' '; \ /etc/rc.d/init.d/lm_sensors status | grep '^CPU Temp') >> /your/log/file done
如果我理解你的问题 – 你想输出两个值到同一个文件 – 那么这可能是你在找什么:
TIME="`date`" SENSOR="56" echo "$TIME $SENSOR" >> /path/to/a/file
也许我误解了这个问题,但看起来所有的答案都附加到一个文件中。 我读你的问题是你想要在2个文件中相同的输出。 如果那是你正在寻找的东西,tee是一种实现的方法:
回声“输出的东西”| tee -a file1 file2
参考hlovdal文章,你可以设置一个这样的cron:
$ crontab -e
$ crontab -e
* / 5 * * * *(echo date +%Y%m%d%H%M%S | tr -d'\ 012'; echo -n''; sensors | grep“CPU Temp:”| awk'{ print $ 3}')>> /var/log/sensors.log