Ich verwende den folgenden Code, um die MAC-Adresse von eth0 in eine Variable für die Verwendung in einem Dateinamen, aber es funktioniert selten . Es ist nicht so, dass es NIE funktioniert, es ist einfach unvorhersehbar.Ich versuche, die MAC-Adresse als eine Variable in Linux, aber es funktioniert selten
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
Nun scheint es zu funktionieren weniger häufig, wenn ich die ntpdate Linie verwenden, aber egal, es ist völlig unberechenbar. Hat jemand eine Idee, was ich tun könnte, um diese Arbeit besser zu machen? Ich am Ende mit einem Dateinamen wie
logfile--1375195808.bz2
Neue Informationen
ich das Drehbuch Setup haben als cronjob (crontab -e) auszuführen. Ich merke, dass es, wenn es als Cronjob läuft, nicht den MAC bekommt, aber wenn ich es manuell ausführe ./runscript.bash erhält es den MAC. Hoffentlich weiß jemand, warum dies das verursacht.
Danke.
vorsichtig damit. Sie können auch IPv6-Adressen erfassen. Sie sollten weiter filtern, indem Sie nach 'HWaddr' suchen. –
Wenn es fehlschlägt, was zeigt' ifconfig eth0'? – Barmar
ifconfig zeigt scheint gut, es zeigt die MAC-Adresse. Ich habe gerade etwas Neues bemerkt, habe es dem Hauptpost hinzugefügt. – McB