Proxy가 존재하는 환경에서 리눅스 서버는 제대로 시간 동기화가 되지 않는다.
대개의 경우 ntpdate 등 시간 동기화 소프트웨어도 대부분 제대로 동작하지 않는다.
물론, 이것은 Proxy 설정과는 좀 다른 경우이지만 Proxy가 존재할 경우 종종 필요한 기능이다.
따라서 해당 카테고리에 정리해 놓았다.
방법은 간단하다.
단 sudo로 인해 패스워드를 물어보기 때문에 패스워드를 입력해서 실행한 후 곧바로 다시 실행해주는 것이 좋다.
앞 서 입력한 패스워드로 인해서 재실행 시에는 패스워드 입력을 스킵하고 바로 실행이 되기 때문이다.
sudo date -s "$(wget --no-cache -S -O /dev/null google.com 2>&1 | \
sed -n -e '/ *Date: */ {' -e s///p -e q -e '}')"
□ 상세 설명
아래 명령 wget을 실행하면 첫줄에 호출 시간과 함께 장황한 http 프로토콜 로그가 출력된다.
$ wget --no-cache -S -O /dev/null google.com 2
--2020-06-11 19:36:36-- http://google.com/
Connecting to 10.10.15.10:8080... connected.
Proxy request sent, awaiting response...
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Thu, 11 Jun 2020 10:36:36 GMT
Expires: Sat, 11 Jul 2020 10:36:36 GMT
Cache-Control: public, max-age=2592000
반드시 google.com을 할 필요는 없으며 이를테면 naver.com이라든지, 신뢰성이 있는 어떤 사이트를 입력해도 가능하다.
아래 sed 명령은 스트림 편집 명령으로 Data로 시작하는 문장을 찾는다.
sed -n -e '/ *Date: */ {' -e s///p -e q -e '}'
따라서 아래와 같이 두 문장을 연결하여 수행하면 날짜 부분만 출력하게 된다.
$ wget --no-cache -S -O /dev/null google.com 2>&1 | \
sed -n -e '/ *Date: */ {' -e s///p -e q -e '}'
Thu, 11 Jun 2020 10:41:01 GMT
해당 날짜를 data -s 의 입력값으로 전달하여 날짜를 변경하는 것이다.
반응형
'Linux > Proxy' 카테고리의 다른 글
Proxy setting, git (0) | 2023.06.04 |
---|---|
Proxy setting, curl (0) | 2023.05.28 |
Proxy setting, npm (ubuntu 18.04) (0) | 2020.04.06 |
Proxy setting, jupyter notebook (0) | 2020.02.06 |
Proxy setting, conda (Windows) (0) | 2019.12.08 |