atq 를 사용하여 예약된 작업 목록을 확인한 후, 첫 번째 필드에 있는 작업 번호를 확인한다.
만약 작업번호가 27이라면 다음과 같이 삭제한다.
# atrm 27
관련 명령어
at : 작업을 특정 시간에 예약한다.
atq : 예약된 작업 목록을 보여 준다.
batch : 시스템 부하가 일정 이하일 때 명령을 실행한다.
cron : 정기적으로 예약된 작업을 실행한다.
예약 작업 시간의 결정
작업의 예약 실행은 시스템의 과부하를 피해 한가한 시간에 작업을 실행하기 위해서 이다. 그러므로 거의 밤 시간에 설정하는 경우가 대부분이다. 그러나 여러 사용자가 예약작업을 설정할 수 있을 경우 예약 시간은 새벽 3시 혹은 4시로 정형화 되는 경우가 많다. 이렇게 야간이라도 특정시간에 부하가 몰리는 경우 시스템에 문제가 생길 수 있다. 그러므로 예약 작업 시간을 결정할 때는 새벽 3시 35분 4시 11분 등으로 분까지 설정하여 같은 시간에 작업이 몰리는 것을 피해야 한다.
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 에 기록이 안된 사용자만 사용이 가능하다. 두 파일 모두 없다면 관리자만 사용할 수 있다.
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 모다 유용하게 사용할 수 있다.
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 인 정보 삭제