에코 IP 주소 문제

에코 IP 주소 문제

cron에서 매분 실행되는 기본 스크립트를 만들려고 합니다. 스크립트는 script.sh다음과 같습니다

#!/bin/bash
DATE=`date +"%Y-%m-%d %H:%M:%S"`
IP=`ifconfig | grep "inet addr" | awk --field-separator ':' '{print $2}' | awk '{print $1}' | head -1`
echo "$DATE $IP" >> test.log

" "를 입력하여 이 스크립트를 실행 하면 ./script.shtest.log에서 이 형식의 IP 주소를 얻습니다(그것은 중요하지 않습니다):

2017-11-08 16:33:33 10.0.0.1
2017-11-08 16:34:33 10.0.0.1
2017-11-08 16:35:33 10.0.0.1

그러나 다음과 같이 크론 작업을 생성하면:

* * * * * /path/to/my/script.sh

test.log에는 날짜만 있습니다.

2017-11-08 16:36:13
2017-11-08 16:37:13
2017-11-08 16:38:13

그런데 왜?왜 IP 주소가 없나요?어떤 아이디어가 있나요?

답변1

date가능 /bin/date하고$PATH크론 작업의 기본값$PATH, 사용자가 로그인할 때의 설정과 다릅니다.

ifconfig아마 /sbin/ifconfig그렇지 않을 것이다 $PATH.

cron에서 실행 ifconfig하려면 명시적인 전체 경로(예:)로 변경하세요 ./sbin/ifconfigifconfig

관련 정보