개발 환경에서 실행될 때마다 동적 IP 주소를 갖는 로컬로 실행되는 웹 서비스가 있습니다. 짜증나게도 매번 IP를 찾아보고 다시 탐색해야 합니다.http://$IP/foo
나는 내 서비스의 새로운 IP를 인쇄하고 요청될 때마다 이름이 출력으로 확인되도록 하는 http://my_service/foo
스크립트를 탐색하고 가질 수 있기를 원합니다 ./home/me/find_ip.sh
my_service
find_ip.sh
로컬에서 전체 DNS 서버를 설정하지 않고도 이 작업을 수행할 수 있습니까?
빠르고 더러운 해킹이 있습니까?
답변1
가장 간단한 해결책은 파일 my_service
에 추가하는 것입니다./etc/hosts
127.0.0.1 localhost my_service
또는
127.0.1.1 my_service
또 다른 해결책은 다음과 같습니다.다음과 같은 가상 네트워크 인터페이스를 추가하십시오..
편집 #1:
my_service
DNS 서버 없이 로컬에서 작업을 수행하는 빠르고 더러운 방법은 /etc/hosts
.
- 만들다
/home/me/find_ip.sh
#!/bin/bash
FILE_OLD_IP=/tmp/ip.txt
OLD_IP='0.0.0.0'
NEW_IP=`ip route get 1 | awk '{print $NF;exit}'`
if [ -f "$FILE_OLD_IP" ]; then
OLD_IP=`cat $FILE_OLD_IP`
fi
if [ $NEW_IP != $OLD_IP ]; then
sed -i "s/.*my_service/$NEW_IP\tmy_service/" /etc/hosts
echo $NEW_IP > $FILE_OLD_IP
logger "NEW_IP: $NEW_IP"
else
logger "CURRENT_IP: $NEW_IP"
fi
exit 0
- 크론 작업 예약
sudo crontabe -e
:
*/1 * * * * /home/me/find_ip.sh