Korzystam z poniższego kodu, aby uzyskać adres MAC eth0 w zmiennej do użycia w nazwie pliku, ale rzadko każdy działa . Nie jest tak, że NIGDY nie działa, jest po prostu nieprzewidywalny.Próbuję uzyskać adres MAC jako zmienną w systemie Linux, ale rzadko działa
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
Teraz wydaje się działać mniej często w przypadku korzystania z linii ntpdate, ale niezależnie od tego, że jest całkowicie nieprzewidywalny. Ktoś ma jakiś pomysł, co mogę zrobić, żeby to działało lepiej? I skończyć z pliku jak
logfile--1375195808.bz2
Nowe informacje
Mam konfiguracji skryptu do uruchomienia jako cron (crontab -e). Zauważam, że gdy działa jako cronjob, nie dostaje MAC, ale kiedy uruchomię go ręcznie ./runscript.bash, otrzyma MAC. Mam nadzieję, że ktoś wie, dlaczego to może być przyczyną.
Dzięki.
ostrożnie z tym. możesz także przechwytywać adresy IPv6. powinieneś dalej filtrować, szukając 'HWaddr' –
Kiedy to się nie powiedzie, co pokazuje" ifconfig eth0 "? – Barmar
Pokazywanie plików ifconfig wygląda dobrze, pokazuje adres MAC. Właśnie zauważyłem coś nowego, dodałem to do głównego postu. – McB