atrm (예약 작업 삭제)

 at를 사용하여 예약한 작업 중 불필요한 내용을 삭제한다.

atrm 작업번호 (Language : text)
작업번호 : atq 를 사용하여 확인할 수 있다.

 atq 를 사용하여 예약된 작업 목록을 확인한 후, 첫 번째 필드에 있는 작업 번호를 확인한다.

 만약 작업번호가 27이라면 다음과 같이 삭제한다.

 # atrm 27

 관련 명령어

 at : 작업을 특정 시간에 예약한다.

 atq : 예약된 작업 목록을 보여 준다.

 batch : 시스템 부하가 일정 이하일 때 명령을 실행한다.

 cron : 정기적으로 예약된 작업을 실행한다.

 예약 작업 시간의 결정

 작업의 예약 실행은 시스템의 과부하를 피해 한가한 시간에 작업을 실행하기 위해서 이다. 그러므로 거의 밤 시간에 설정하는 경우가 대부분이다. 그러나 여러 사용자가 예약작업을 설정할 수 있을 경우 예약 시간은 새벽 3시 혹은 4시로 정형화 되는 경우가 많다. 이렇게 야간이라도 특정시간에 부하가 몰리는 경우 시스템에 문제가 생길 수 있다. 그러므로 예약 작업 시간을 결정할 때는 새벽 3시 35분 4시 11분 등으로 분까지 설정하여 같은 시간에 작업이 몰리는 것을 피해야 한다.

atq (예약 작업 보기)

 at 를 사용하여 예약한 작업 목록을 보여준다.

atq [옵션] (Language : text)
[Linux]

-q queue : 지정된 큐에 예약된 작업만 보여준다.

-V : 버전을 보여준다.

[Unix]

-c : 예약된 작업을 시간별로 정렬해 보여준다.

-n : queue 에 예약된 모든 작업 개수를 보여준다.

 at 에 의해 예약된 작업 목록을 보여준다. at -l 과 같은 기능을 한다.

 이중에서 특정 큐에 예약된 작업을 보기 위해서는 atq -q 라고 입력한다. 아래 명령어는 t 큐에 예약된 작업을 보여준다

 # atq -q t

 관련 명령어

 at : 작업을 특정 시간에 예약한다.

 atrm : 예약된 작업 목록을 삭제한다.

at (작업 예약)

 명령어나 스크립트의 실행을 예약한다.

at [옵션] 시간 [날짜] [+증가시간] (Language : text)
시간 : 명령어나 스크립트를 실행할 시간을 지정한다.

+증가시간 : 증가 시간만큼 지난 후 실행한다.

-q queue : queue 이름을 지정한다. 큐 이름으로는 a~z, A~Z 가 쓰일 수 있다. 큐 이름을 지정해 주지 않으면 at 는 a 를 batch 는 b 를 사용한다. 알파벳 순서로 뒤의 이름을 갖는 큐는 더 큰 niceness 값을 갖는다. = 큐는 현재 수앻되는 작업에 대한 큐로 예약되어 있다. 대문자 이름의 큐에 추가된 작업은 batch 의 작업처럼 처리된다.

-m : 출력 결과가 없더라도 작업이 완료될 때 사용자에게 메일을 보낸다.

-f 파일명 : 스크립트 파일 등을 실행해 줄 때 사용한다.

-l : 예약된 작업 목록을 보여준다.

-v : 작업이 수행될 시간을 보여준다.

-d : 예약된 작업을 삭제한다. (Linux)

-r : 예약된 작업을 삭제한다. (Unix)

 at 는 등록된 명령어를 원하는 시간에 실행하게 하는 기능을 한다. 즉 시스템의 부하가 적은 시간에 실행시키거나 예약된 시간에 꼭 실행되어야 하는 작업을 자동으로 처리하고자 할 때 사용한다.

 at 에 의해 실행할 시간 설정

 예약 작업 기능이므로 시간에 대한 설정이 중요하다. at 의 시간 설정은 날짜와 시간을 정해주는 시간 설정과 현재 시간 혹은 정해진 시간에서 증가시간으로 설정해 주는 방법이 있다.

 시간표현 방법

분류  |  형식        |    설명                                                | 예
================================================================================================
시간 |  hh:mm      | hh(시간), mm(분)으로 설정                            | 16:18
     ——————————————————————————————–
     | am, pm       | 표시가 없는 경우 Linux 나 Unix 에서는 하루를 24시 |   4:18 pm
     |               | 간으로 표현한다. am 과 pm 을 이용하여 12시간 단위 |
     |               | 표현이 가능하다.                                      |
    ———————————————————————————————
     | midnight     | midnight(00:00), noon(12:00), teatime(16:00) 같은 |
     | noon         | 서술형 시간으로도 지정이 가능하다. now 는 현재시간|
     | teatime      | 이며 증가시간 설정에 많이 쓰인다.                   |
     | now          |                                                         |
————————————————————————————————
날짜 | yyyy-mm-dd | 일반적인 날짜 구성으로 표현                        | 2008-10-31
      ——————————————————————————————-
      | month num   | 4월 13일은 “April 13” 로 표현한다. 혹은 약자로     |  April 13
      |               | “Apr 13” 로 표현할 수 있다.                          |
      ——————————————————————————————-
      | today        | 오늘 또는 내일로 지정할 수 있다. 각 요일별로도 표  |
      | tomorrow    | 현이 가능하다.                                       |
================================================================================================

 test 라는 파일을 만들어 주는 명령어인 touch test 이란 명령어를 at 에 등록하여 2008년 10월 31일 03:35 에 실행한다. 2008년 10월 31일 3:35 는 “03:35 2008-10-31” 으로 표현할 수 있다.

사용자 삽입 이미지

 at 에 예약된 작업 정보
작업번호 | 날짜              | 시간 queue    |     이름    | 사용자
     1       Fri Oct 31          03:35              a         pchero

 작업번호 : at 에 등록된 작업 번호, 등록된 순서대로 매겨지며 at -d, 또는 atrm 을 이용해 at 작업을 삭제해 줄 때 사용.

 날짜/시간 : 등록된 명령이 실행 될 시간
 
 queue 이름 : “-q” 옵션을 이용하여 큐 이름을 지정

 사용자 : at 에 작업을 예약한 사용자

 증가시간을 이용한 설정

 현재 시간으로부터 6시간 ㄷ후에 Control.sh 스크립트가 실행 되도록 예약하고 싶다면 다음과 같이 f 옵션을 사용하여 예약 작업으로 등록한다.

 또한 리다이렉션을 이용해도 같은 결과를 얻을 수 있다.

 # at now +6 hours -f Control.sh
 파일을 예약 작업으로 등록

 # at now + 6 hours < Control.sh
 리다이렉션을 이용한 예약작업 등록

 먄약 20번에 예약된 작업을 삭제하고 싶다면 다음과 같이 삭제한 작업번호를 지정한다.

 # at -d 20

 
 at 의 사용 권한 설정

 at 명령어는 at.allow 와 at.deny 두 파일을 이용해 일반 사용자의 at 명령어 사용 권한을 지정해 줄 수 있다.

 /etc/at.allow 파일이 있으면 at.allow 에 기록된 사용자만 at 명령어를 사용이 가능하며 /etc/at.allow 파일이 없으면 /etc/at.deny 에 기록이 안된 사용자만 사용이 가능하다. 두 파일 모두 없다면 관리자만 사용할 수 있다.

 관련 명령어

 atq : 예약된 작업 목록을 보여 준다.

 atrm : 예약된 작업 목록을 삭제한다.

 batch : 시스템 부하가 일정 이하일 때 명령을 실행한다.

 cron : 정기적으로 예약된 작업을 수행한다.

arping (네트워크 연결 확인)

 ARP 요청을 이용한 네트워크 연결 확인 명령

arping [옵션] detination (Language : text)
-c count : arping 의 개수를 지정한다.

-w timeout : w 옵션 뒤 시간(초)을 자정하여 그 시간(초)까지만 arping를 실행한다.

-I device : 이더넷 장치를 지정한다.

-s source : 소스(source) IP 를 지정한다.

 destination : 목적지 IP 주소

 ping 의 변형으로 ICMP 패킷 대신 ARP 요청과 응답으로 사용중인 IP 주소로 MAC(Medium Access Control)주소를 찾거나, MAC 주소가 있을 때 IP 주소를 찾을 수도 있다. 또한, ICMP 패킷을 차단한 호스트라도 단지 연결성만을 검사하고 싶을 경우라면, arping 은 유용한 수단이 될 수도 있다.

 다음은 자신의 시스템으로 arping 을 3번 보내서 확인하는 예제이다.

사용자 삽입 이미지
 시스템에 네트워크 디바이스가 여러 개 장치되어 있어 각 장치별로 연결성을 테스트하고 싶다면 “-I” 옵션을 이용하여 장치를 지정하여 준다.

 관련 명령어

 ping : 네트워크 연결성을 분석한다.

 ICMP (Internet Control Message Protocol)

 ICMP 는 호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 에러를 알려주는 프로토콜이다. 만약 라우터가 네트워크 경로를 설정할 수 없거나 데이터를 전달할 수 없을 때 이런 네트워크 상의 문제를 해결하도록 정보를 보내야 하는데 필요한 프로토콜이다. ping 명령도 이 프로토콜을 사용하게 된다.

 

 TCP (Transmission Control Protocol)

 TCP 는 인터넷상의 컴퓨터들 사이에서 데이터를 메시지의 형태로 보내기 위해 IP 와 함께 사용되는 프로토콜로, OSI 통신보델에서, TCP 는 4계층인 트랜스포트 계층에 속한다. TCP 메시지들이 각 단의 응용 프로그램 사이에서 교환되는 동안 연결이 유지되기 때문에 연결지향 프로토콜이라고 알려져 있으며 데이터 패킷의 순서를 제공한다.

 UDP (User Datagram Protocol)

 UDP 는 IP 를 사용하는 네트워크 내에서 컴퓨터들 간에 메시지들이 교환될 때 제한된 서비스만을 제공하는 통신 프로토콜이다. TCP 와는 달리 ㄷ착하는 데이터 패킷들의 순서를 제공하지 않는다. 대신, 처리 속도가 빠르므로 교환해야 할 데이터가 매우 적은 경우 TCP 모다 유용하게 사용할 수 있다.

arp (arp 캐싱)

 연결하고자 하는 시스템의 MAC 주소 확인

arp [옵션] (Language : text)
-v : arp 상태를 보여준다.

-t type : ARP 캐쉬에 올라와 있는 타입을 검색한다. ether(Ethernet)또는 ax25(AX.25 packet radio)등이 있으며 ether가 기본 타입이다.

-a [hosts] : 등록된 호스트 중 지정한 호스트의 내용을 보여준다. 호스트를 지정하지 않으면 등록된 모든 호스트를 보여준다.

-d [host] : 지정한 호스트를 목록에서 삭제한다.

-s host hardware-address : 호스트의 하드웨어 주소 즉 호스트 MAC 주소를 추가한다. 이더넷 카드의 경우 6자리의 16진수로 되어있다.

-f file : 파일에 있는 목록을 추가한다.

 TCP/IP 명령어이다. 시스템 사이의 통신에는 상대방의 MAC 주소가 필요하다. 이때 arp는 ARP(Address Resolution Protocol)을 이용하여 연결하고자 하는 시스템 IP 에 신호를 보내 MAC 주소를 받아온다.

 서브넷의 arp 정보는 연결 효율을 높이기 위해 /proc/net/arp 에 저장된다. 캐시에 저장된 정보는 추가/삭제할 수 있다. 이와 같이 저장된 arp 캐시의 내용을 자세히 보고 싶을 경우에는 다음과 같이 실행한다.

사용자 삽입 이미지

 seclab.kongju.ac.kr 라는 호스트에 대한 정보만 알고 싶다면 다음과 같이 한다.

사용자 삽입 이미지

 경우에 따라서, 시스템에서 기존의 이더넷 카드 대신 새 이더넷 카드를 설치했을 때 내부 네트워크 연결이 잘 되지 않는 경우가 있다. 이것은 arp 캐시가 기존 이더넷 카드의 MAC 주소를 저장하고 있어, 같은 IP 를 사용하더라도 인식하지 못하는 경우이다. 이 경우에는 arp -d 명령을 사용하여 정보를 삭제한 뒤 다시 시도한다.

 # arp -d seclab.kongju.ac.kr : 호스트명이 seclab.kongju.ac.kr 인 정보 삭제

사용자 삽입 이미지

 관련 명령어
 
 arping : 대상 주소에 ARP 패킷을 날린다.
 
 arpwatch : Ethernet/IP 주소의 진로를 추적한다.

 arpsnmp : Ethernet/IP 주소의 진로를 추적한다.

 tcpdump : 네트워크 인터페이스에서의 패킷 헤더들을 출력한다.