我正在使用以下代码将 eth0 的 MAC 地址转换为用于文件名的变量,但它很少能正常工作。这并不是说它永远不会起作用,它只是不可预测的。
ntpdate -b 0.centos.pool.ntp.org
DATE=$(date +%s)
MAC=$(ifconfig eth0 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' | sed 's/://g')
cp logfile logfilecp-$MAC-$DATE
现在,如果我使用 ntpdate 行,它似乎不太频繁地工作,但无论如何,它是完全不可预测的。有人知道我可以做些什么来使这项工作更好吗?我最终得到一个像这样的文件名
logfile--1375195808.bz2
新信息
我已经将脚本设置为作为 cronjob (crontab -e) 运行。我注意到当它作为 cronjob 运行时,它没有获得 MAC,但是当我手动运行它时 ./runscript.bash 它确实获得了 MAC。希望有人知道为什么这可能会导致它。
谢谢。