리눅스 기초 명령어 - cron&rsync, service booting
CRON은 주기적으로 작업되는 작업 일정을 저장해서 자동으로 실행하는 데몬으로 at이나
anacron등과 같이 다양한 프로그램이 지원된다.
/etc/crontab - 기본 스케줄 일정
crontab ‐u [root] [옵션]
옵션
-e : 스케줄 등록 vi 환경으로 스케줄 등록
-l : 스케줄 확인 (출력)
-r : 스케줄 삭제
명령어 형식
[분] [시] [일] [월] [요일] [작업내용] *붙이면 (매분, 매시 등)
- 시간 범위
꞉ 분 : 0 ~ 59
꞉ 시 : 0 ~ 23
꞉ 일 : 1 ~ 31
꞉ 월 : `1 ~ 12
꞉ 요일: 0(일요일) ~ 6(토요일)
00 12 * * * rdate ‐s time.bora.net
0‐59/10 * * * * chown ‐R data.ist /home/data (매월,매일,매시,매분 0분~59분 사이에 10분마다실행)
rsync는 두 시스템 간에 지정한 디렉토리를 동기화한다.
- 어떤 시스템은 rsync 서버로 해도 상관없지만 보통 원본
저장 시스템을 서버로 한다.
(한쪽은 서버로 한쪽은 클라이언트로)
서버 - 프로그램을 항상 띄어놓음 (메모리 데몬)
클라이언트 - 띄어놓은 프로그램을 사용
rsync 설치 확인
# yum list rsync
……
rsync.i386 2.6.8‐3.1
# yum list xinetd
……
xinetd.i386 2:2.3.14‐10.SUL2
---------------서버
관련 파일
데몬 : /usr/bin/rsync
관리 스크립트 : /etc/rc.d/init.d/xinetd
실행 설정 파일 : /etc/xinetd.d/rsync
백업 설정 파일 : /etc/rsyncd.conf
데몬 실행
systemctl [start | stop | restart | status] rsyncd.service
[서비스 명] : 리소스 식별자, client에서 이용한다.
path : 백업 경로
comment : 주석
uid : 전송자 UID
gid : 전송자 GID
use chroot : rsync 경로를 외부에서 / 로 인식한다.(경로는 /home/data인데 /에 들어온거처럼 속이는것 보안상좋음)
read only : 읽기 전용으로 접근한다.
hosts allow : 접속 허용할 호스트 (클라이언트만 지정)
max connections : 동시 접속자 수
timeout : 응답시간(초)
/etc/rsyncd.conf
[backup]
path = /backup
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 192.168.10.33
max connections = 1
timeout = 300
systemctl start rsyncd.service
--------------------클라이언트
rsync client 명령을 이용 server의 디렉토리와 client의 디렉토리를 동기화한
다.
rsync ‐avz [‐‐delete] source destination
rsync ‐avz [‐‐delete] IP::[서비스명] [백업 디렉토리]
rsync ‐avz [‐‐delete] [백업 디렉토리] IP::[서비스명]
rsync 명령 옵션
‐v : 작업내역 출력
‐a : archive mode 작업, 심볼릭 링크, 권한 등 모든 내용을 보존한다.
‐z : 파일을 압축 전송한다.
‐‐delete : source에서 지워진 파일을 destination에서도 지워준다.(완전 동기화)
rsync 명령을 cron에 등록한다.
매일 새벽 1시에 백업 수행
00 01 * * * rsync ‐avz 192.168.10.32::backup /backup
=> rsync --daemon 입력
=> 네트워크 매니저 비활성화
=> /etc/selinux/config -> SELINUX=disabled로 변경
서비스와 데몬은 구분하지 않아도 된다. 이둘은 사용자의 요청 시점이 아니라 임
의의 시점(보통 시스템 boot)에서 background process로 시작되어 사용자나 프
로세스에 서비스를 제공하는 프로그램을 의미한다.
방식
Stand Alone
- 스스로 listen하며 항상 메모리에 상주한다.
- 서비스 요청에 즉시 대응 가능하다.
- 서비스 요청이 매우 드물거나 idle 한 경우 메모리를 낭비한다.
Super Daemon
- Listen을 직접하지 않는다.
- 메모리에 상주하지 않으며 서비스 요청이 있을때 xinetd에 의해 호출된다.
- 거의 사라진 시스템이다.