티스토리 뷰
서버와 운영체제, 네트워크 장비를 비롯하여 거의 모든 하드웨어 장비들에 있어서 시간 동기화는 매우 중요합니다.
현재는 주로 NTP(Network Time Protocol) 프로토콜을 이용하고 있으나, 정밀 시각 설정과 동기화가 필요할 경우에는 PTP(Precision Time Protocol) 프로토콜을 이용하기도 합니다.
장비 운영에 있어 실시간 연동이 이루어지고, 장애 처리나 디버깅 등에 있어 OS 운영체제의 시간 동기화는 기본이 되는 항목이며, NTP나 PTP등 시간 동기화를 실행하기 어려운 경우 아래와 같이 하드웨어나 운영체제의 시간을 수동으로 설정하는 방법에 대해 알려드리도록 하겠습니다.
윈도우10에서 멀티 OS로 리눅스가 설치되어 있지 않은 PC에서 bash 로만 실행해 보았습니다.
학습용 또는 기본적인 리눅스 운영체제를 학습하기에는 우분투나 데비안, 센토스 등을 설치하지 않고도 bash 쉘로 공부가 가능하니 참고하시기 바랍니다.
다들 아시다시피 리눅스에서 시간을 확인하는 명령어는 date 이며, 프롬프트에서 date 명령을 실행하면 아래와 같이 현재 시간이 출력됩니다.
리눅스 bash 쉘에서 date 명령을 실행하자 현재 시간이 표시되었습니다.
자, 여기서 date 명령 옵션값을 이용하여 시간을 수동으로 맞춰보도록 하겠습니다.
date -s 옵션을 이용합니다.
운영체제의 시간은 위와 같이 설정 가능하고, 현재 bash 쉘로 설정되어 윈도우10 운영체제에서 설정된 기본 시간으로 다시 되돌아가게 되지만, 독립적인 운영체제에서는 시간이 수동으로 제어됩니다.
date 명령의 여러 기능과 옵션을 확인하기 위해서는 --help 또는 man 을 실행하시면 됩니다.
==============================================
root@DESKTOP-65DF1I8:/# date --help
사용법: date [옵션]... [+포맷]
또는: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display the current time in the given FORMAT, or set the system date.
Mandatory arguments to long options are mandatory for short options too.
-d, --date=STRING display time described by STRING, not 'now'
-f, --file=DATEFILE like --date; once for each line of DATEFILE
-I[FMT], --iso-8601[=FMT] output date/time in ISO 8601 format.
FMT='date' for date only (the default),
'hours', 'minutes', 'seconds', or 'ns'
for date and time to the indicated precision.
Example: 2006-08-14T02:34:56-0600
-R, --rfc-2822 output date and time in RFC 2822 format.
Example: Mon, 14 Aug 2006 02:34:56 -0600
--rfc-3339=FMT output date/time in RFC 3339 format.
FMT='date', 'seconds', or 'ns'
for date and time to the indicated precision.
Example: 2006-08-14 02:34:56-06:00
-r, --reference=FILE display the last modification time of FILE
-s, --set=STRING set time described by STRING
-u, --utc, --universal print or set Coordinated Universal Time (UTC)
--help 이 도움말을 표시하고 끝냅니다
--version 버전 정보를 출력하고 끝냅니다
FORMAT controls the output. Interpreted sequences are:
%% a literal %
%a locale's abbreviated weekday name (e.g., Sun)
%A 로케일의 전체 요일 이름 (예., 일요일)
%b 로케일의 줄인 월 이름 (예., Jan)
%B 로케일의 전체 월 이름 (예., January)
%c 로케일의 날짜와 시간 (예., 2005년 3월 3일 목요일 23시 05분 25초)
%C century; like %Y, except omit last two digits (e.g., 20)
%d day of month (e.g., 01)
%D date; same as %m/%d/%y
%e day of month, space padded; same as %_d
%F 전체 날짜; %Y-%m-%d와 같음
%g ISO 주 번호의 년도의 마지막 두 숫자 (%G 참조)
%G ISO 주 번호의 년도 (%V 참조); 보통 %V만으로도 유용함
%h %b와 같음
%H 시 (00..23)
%I 시 (01..12)
%j 연 중 일 (001..366)
%k hour, space padded ( 0..23); same as %_H
%l hour, space padded ( 1..12); same as %_I
%m month (01..12)
%M minute (00..59)
%n 새 행
%N 나노 초 (000000000..999999999)
%p 로케일에 정의한 AM 또는 PM과 같은 값; 없으면 공란
%P %p와 같으나 소문자로
%r 로케일에 정의한 12시간제 시간 (예, 11:11:04 PM)
%R 24시간제 시와 분; %H:%M 와 같음
%s 1970-01-01 00:00:00 UTC 부터의 초 값
%S 초 (00..60)
%t 탭 문자
%T 시간; %H:%M:%S와 같음
%u 주 중 일 (1..7); 1은 월요일
%U 주의 시작일을 일요일로 할 때, 연 중 주 번호 (00..53)
%V 주의 시작일을 월요일로 할 때, ISO 주 번호 (01..53)
%w 주 중 일 (0..6); 0은 일요일
%W 주의 시작일을 월요일로 할 때, 연 중 주 번호 (00..53)
%x 로케일의 날짜 표현 (예., 99/12/31)
%X 로케일의 시간 표현 (예., 23:13:48)
%y 연도의 끝 두자리 (00..99)
%Y 연도
%z +hhmm numeric time zone (e.g., -0400)
%:z +hh:mm numeric time zone (e.g., -04:00)
%::z +hh:mm:ss numeric time zone (e.g., -04:00:00)
%:::z numeric time zone with : to necessary precision (e.g., -04, +05:30)
%Z alphabetic time zone abbreviation (e.g., EDT)
By default, date pads numeric fields with zeroes.
The following optional flags may follow '%':
- (hyphen) do not pad the field
_ (underscore) pad with spaces
0 (zero) pad with zeros
^ use upper case if possible
# use opposite case if possible
플래그들 다음에는 선택 필드 너비가 10진 숫자로 옴;
그 다음은 아래 중 하나의 선택 수정자가 옴
E 쓸 수 있다면 로케일의 또다른 표현 방식을 사용, 또는
O 쓸 수 있다면 로케일의 또다른 수치 기호들을 사용.
Examples:
Convert seconds since the epoch (1970-01-01 UTC) to a date
$ date --date='@2147483647'
Show the time on the west coast of the US (use tzselect(1) to find TZ)
$ TZ='America/Los_Angeles' date
Show the local time for 9AM next Friday on the west coast of the US
$ date --date='TZ="America/Los_Angeles" 09:00 next Fri'
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Report date translation bugs to <http://translationproject.org/team/>
Full documentation at: <http://www.gnu.org/software/coreutils/date>
or available locally via: info '(coreutils) date invocation'
root@DESKTOP-65DF1I8:/#
==============================================
이 외에 아래와 같이 하드웨어의 시간도 운영체제와 동기화를 시켜주는 것이 일반적인데요, 이때에는 hwclock 명령을 이용하시면 됩니다.
# hwclock -r (현재 하드웨어 시간 확인)
# hwclock -s (하드웨어 시간으로부터 시스템 시간을 수동으로 설정)
# hwclock -w (시스템 시간으로부터 하드웨어 시간을 수동으로 설정)
--help 명령으로 명령어 기능과 여러 옵션을 확인할 수 있으니 도움말 페이지를 적극 활용하시기 바랍니다.
==============================================
#root@DESKTOP-65DF1I8:/# hwclock --help
Usage:
hwclock [function] [option...]
Query or set the hardware clock.
Functions:
-h, --help show this help text and exit
-r, --show read hardware clock and print result
--get read hardware clock and print drift corrected result
--set set the RTC to the time given with --date
-s, --hctosys set the system time from the hardware clock
-w, --systohc set the hardware clock from the current system time
--systz set the system time based on the current timezone
--adjust adjust the RTC to account for systematic drift since the clock was last set or adjusted
-c, --compare periodically compare the system clock with the CMOS clock
--getepoch print out the kernel's hardware clock epoch value
--setepoch set the kernel's hardware clock epoch value to the value given with --epoch
--predict predict RTC reading at time given with --date
-V, --version display version information and exit
Options:
-u, --utc the hardware clock is kept in UTC
--localtime the hardware clock is kept in local time
-f, --rtc <file> special /dev/... file to use instead of default
--directisa access the ISA bus directly instead of /dev/rtc
--badyear ignore RTC's year because the BIOS is broken
--date <time> specifies the time to which to set the hardware clock
--epoch <year> specifies the year which is the beginning of the hardware clock's epoch value
--update-drift update drift factor in /etc/adjtime (requires --set or --systohc)
--noadjfile do not access /etc/adjtime; this requires the use of either --utc or --localtime
--adjfile <file> specifies the path to the adjust file; the default is /etc/adjtime
--test do not update anything, just show what would happen
-D, --debug debugging mode
root@DESKTOP-65DF1I8:/#
==============================================
'Technical > VMware Windows Linux OS' 카테고리의 다른 글
VMware ESXi 6.7 메뉴 소개 (0) | 2019.04.10 |
---|---|
리눅스 tcpdump 패킷 덤프 디버깅 방법 (0) | 2018.12.19 |
우분투 apt-get 패키지 설치 및 제거, 업그레이드 방법 (0) | 2018.12.19 |
윈도우에서 Ubuntu 리눅스 bash 쉘 사용 방법 (0) | 2018.12.13 |
VMware 버그 패치 번들 업데이트 CLI 명령어 (0) | 2018.11.19 |
윈도우 디스크 파티션 분할 및 확장, 생성 및 삭제 방법 (0) | 2018.11.02 |
윈도우10 원격데스크톱 연결 설정 방법 (0) | 2018.10.31 |
정품 윈도우 10 다운로드 및 설치 방법 (2) | 2018.10.30 |
- Total
- Today
- Yesterday
- 해커스 랩
- 네트워크전문가따라잡기-TCP/IP
- KLTP
- ISAC
- ♣ DAMOA BLACKHOLE
- 제이의 기록일지
- 미선씨의 위대한 하루
- 서민당 총재
- 티몰스 의 랩하는 프로그래머
- 블루의 정보세상
- Divinus Realm...
- 즐겁긔 매거진
- SoMeTHing sPeciaL
- 즐거운하루 이야기
- 권's 패밀리의 특별한 지역 특산물 이야기
- 내 인생 목표는 행복한 사람이 되는거야
- :NNK Company 성공을 만들다:
- serendipity
- 당신은1등이됩니다-유일수학전문학원
- Car Story
- On the Road
- 야생화
- Readiz - Read easy
- 영어 너 도대체 모니?
- 감성 IT人 [네떡지기 & 플밍지기]
- Excel
- Adsense
- 넥서스S
- 네이버
- 애드센스
- 아웃룩
- 구글 광고
- Tistory
- 카카오톡
- Google Adsense
- 리눅스
- 광고 수익
- 블로그
- 엑셀
- 구글 애드센스
- 리얼센스
- 사랑해
- 포토샵
- 구글
- 윈도우7
- 안드로이드
- 비트코인 채굴
- CISCO
- 금연
- 티스토리
- IT·컴퓨터
- 담배
- 리얼클릭
- 비트코인
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |