셸 현재 시스템 시간 가 져 오기

셸 스 크 립 트 에 서 는 항상 시스템 시간 을 가 져 와 서 어떤 조작 을 처리 해 야 합 니 다. 오늘 시스템 은 시스템 시간 을 어떻게 가 져 오 는 지 배 웠 습 니 다.기록 은 다음 과 같 습 니 다.
Liux 의 시스템 시간 은 셸 에서 시스템 변 수 를 직접 호출 할 수 있 습 니 다. 예 를 들 어 오늘 시 기 를 가 져 올 수 있 습 니 다. 'date +% Y% m% d' 또는 'date +% F' 또는 $(date +% y% m% d)
명령 출력 결 과 는 다음 과 같 습 니 다.

  
  
  
  
  1. [root@centi-C sh]# date +%Y%m%d 
  2. 20120727 
  3. [root@centi-C sh]# date +%F 
  4. 2012-07-27 
  5. [root@centi-C sh]# date +%y%m%d 
  6. 120727 

가 져 오기 어제: 'date - d yesterday +% Y% m% d' 도 'date - d - 1day +% Y% m% d' 로 쓸 수 있 습 니 다.

  
  
  
  
  1. [root@centi-C sh]# date -d yesterday +%Y%m%d 
  2. 20120726 
  3. [root@centi-C sh]# date -d yesterday +%F 
  4. 2012-07-26 
  5. [root@centi-C sh]# date -d -1day +%y%m%d 
  6. 120726 
  7. [root@centi-C sh]# date -d -1day +%Y%m%d 
  8. 20120726 

가 져 오기 전날 날짜: ` date - d - 2day +% Y% m% d ` 순서대로 유추 합 니 다. 예 를 들 어 가 져 오기 열흘 전의 날짜: ` date - d - 10day +% Y% m% d ` 또는 n 전의 ` date - d 'n days ago' +% y% m% d ` 내일: ` date - d tomorrow +% y% m% d ` 이상 중간 에 빈 칸 이 있 음 을 주의 하 십시오. 
어떤 날짜 시간 형식 이 필요 한 지 에 대해 서 는 관련 시간 영역 인 자 를 사용 하여 이 루어 져 야 합 니 다. 관련 시간 영역 은 다음 과 같 습 니 다.% H 시간 (00. 23)% I 시간 (01. 12)% k 시간 (0. 23)% l 시간 (1. 12)% M 분 (00. 59)% p 는 AM 또는 PM% r 시간 (hh: mm: ss AM 또는 PM) 을 표시 합 니 다.12 시간% s 1970 년 1 월 1 일 00: 00: 00 부터 현재 겪 고 있 는 초 수% S 초 (00.. 59)% T 시간 (24 시간 제) (hh: mm: ss)% X 디 스 플레이 시간의 형식 (% H:% M:% S)% Z 시간 대 날짜 영역% a 요일 의 약칭 (Sun. sat)% A 요일 의 전 칭 (Sunday. Saturday)% b 월 의 약칭 (Jan. Diec)% B 월 의 전 칭(January.. December)% c 날짜 와 시간 (Mon Nov 8 14: 12: 46 CST 1999)% d 한 달 째 날 (01..31)% D 날짜 (mm / d / yy)% h 와% b 옵션 이 같 음% j 1 년 째 며칠 (001..366)% m 월 (01. 12)% w 일주일 째 며칠 (0 대표 일요일)% W 1 년 째 주 (00..53, 월요일 은 첫날)% x 디 스 플레이 날짜 의 형식 (mm / dd / yy)% y 년 의 마지막 두 숫자 (1999 년 은 99)% Y 년 (예 를 들 어 1970, 1996 등) 주의: 슈퍼 사용자 만 date 명령 설정 시간 을 사용 할 수 있 고 일반 사용 자 는 date 명령 으로 만 시간 을 표시 할 수 있 습 니 다.
연습 스 크 립 트 추가, 기능:
매달 첫날 / etc 디 렉 터 리 의 모든 내용 을 백업 하고 압축 하여 / root / bak 디 렉 터 리 에 저장 합 니 다. 파일 이름 은 다음 과 같은 형식 으로 yymmd etc, yy 는 년, mm 는 월, d 는 일 입 니 다. Shell 프로그램 fileback 은 / usr / bin 디 렉 터 리 에 저 장 됩 니 다.

  
  
  
  
  1. #/bin/bash 
  2. #filebak 
  3. #file executable: chmod 755 filebak 
  4. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin 
  5. export PATH 
  6. bakdir="/root/bak/" 
  7. filename="`date +%y%m%d`_etc.tar.gz" 
  8. if [ ! -x "$bakdir" ];then 
  9. mkdir $bakdir 
  10. fi 
  11. cd $bakdir 
  12. tar cvfz $filename /etc

 crontab 사용 하기 -e 명령 추가 시간 퀘 스 트: 0 1 * * * /bin/sh /usr/bin/fileback

좋은 웹페이지 즐겨찾기