강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

리눅스 파일시스템관리 2편

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문



제목 : 리눅스 파일시스템관리 2편





ㅇ 제작 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 서버관리팀


ㅇ SULINUX  홈페이지 : www.sulinux.net

ㅇ 리눅스포털 홈페이지 : www.superuser.co.kr



























파일 시스템 관리



5. 백업


백업방법은 여러 가지가 있을 수 있다. 그리고 애플리케이션에 따라 또 별도의 백업방법이 있을 수도 있다. 하지만 애플리케이션의 백업방법은 각 애플리케이션의 종류에 따라 다르므로 너무 많은 방법이 있어 본서에서는 다른지 않겠다. 보통 백업방법은 tar와 dump 명령을 이용하여 백업 하는 방법을 사용한다. SULinux에서는 호스팅 서버 관리자에게 편리한 백업명령어(su_backup)를 제공하며 이를 이용하여 주기적 백업 역시 가능하게 할수 있다. 별도 제공 명령어의 사용방법은 “6-3-7. 시스템 백업방법”을 참고하기 바란다.


5-1. dump를 이용하여 백업하기


dump는 파일들이 아닌 파일시스템(ext2/ext3) 전체를 백업한다. 일반적으로 dump 명령어는 파티션 단위로 백업할 때 유용하게 사용되고 있다. dump는 0-9단계의 레벨을 가지고 증분 백업을 지원하고 있다. 레벨 0이 전체 백업이고 나머지 레벨들은 부분백업을 의미한다.

백업시에 /etc/fstab 파일을 참조하며 백업된 데이터 복원은 restore명령을 사용하여 복원할 수 있다.


형식 : dump [옵션] [백업미디어] [백업하고자하는 대상]


옵 션

설    명

-0~9

덤프의 레벨을 지정한다. 0은 전체백업이고, 나머지는 부분백업을 한다.

-f

파일명 또는 디바이스명 : 백업할 미디어를 지정하거나 파일명을 적는다.

-u

dump 를 통해 백업한 후에 /etc/dumpdates라는 파일에 작업에 대한 정보를 기록한다.


실제 사용의 예


1) dump -0f /dev/nst0 /home

설명 : /home 디렉토리 전체를 /dev/nst0 장치에 전체 백업을 하게 된다.


2) dump -0u -f /dev/nst0 /dev/hda7

설명 : /dev/hda7 파일시스템 전체를 /dev/nst0 장치에 전체 백업하며 그 작업 정보를 /etc/dumpdates라는 파일에 기록한다.


3) dump -0u -f home /home

설명 : /home 디렉토리 전체를 home이라는 이름으로 전체백업한다. 또한 그 작업정보를 /etc/dumpdates 라는 파일에 기록한다.

PIC3CC.gif


4) dump -4u -f /dev/nst0 /dev/hda7

설명 : level4 수준 또는 그 이하의 백업을 한 뒤에 바뀐 내용을 증분 백업을 진행한다. 또한 그 작업정보를/etc/dumpupdates에 기록하게 된다.


5-2. dump 복원


dump명령으로 파일시스템을 백업한 경우에는 restore 명령을 이용하여 복원하게 된다.


restore [옵션] [디바이스명 또는 백업파일명]


옵   션

설    명

-i

대화식(interactive)으로 복구할 파일을 선택한 후에 복원이 가능하다.

-f

디바이스명 또는 백업파일명 : 백업되어진 파일이나 장치를 지정한다.

-r

전체백업시에 사용한다. 이 옵션사용시에 파일시스템이 미리 생성되어 있어야 하고, 마운트도되어 있어야 하며 해당 디렉토리에서 작업해야 한다.

실제 사용의 예


1) restore -if /dev/st0

설명 : /dev/st0에 백업된 데이터를 하나씩 확인하면서 복원한다.


2) restore -rf /dev/nst0

설명 : /dev/nst0에 백업된 데이터를 전체복원한다. 하지만 복원하고자 하는 파일시스템이 생성되어 마운트 되어 있어야만 하고 해당 디렉토리안에서 작업이 이루어져야 한다.


3) restore -if home

설명 : home이라는 이름으로 백업된 파일을 복구한다. 위의 명령을 실행하면 "restore> "라는 프롬프트가 나타납니다.


PIC3CD.gif

위의 그림은 main_root라는 dump로 백업받아 생성된 파일을 다시 복원하는 과정을 보여주고있다.


"restore >" 프롬프트에서 내릴수 있는 명령어는 help라는 명령어로 자세히 볼수 있다.


복원모드 명령어

설    명

ls

백업된 내용을 보여준다.

add [파일 또는 디렉토리명]

add 뒤에 파일명을 기입하지 않으면 백업된 모든 내용을 선택하였다는 말이 된다.

extract

백업된 내용을 복원하게 된다.

quit

복원 모드에서 빠져 나오게 된다.


6. 파일 속성변경


파일에 대한 속성 관리는 시스템 보안상 아주 중요한다. SULinux에서는 별도의 시스템 보안상 중요한 파일 리스트를 만들어 그 파일들의 속성값의 결과를 점검하도록 하는 기능을 제공하고 있다. 이 기능은 ssu라는 서버관리용 유틸리티가 설치 되면서부터 관리가 된다. SULinux를 설치 하면 기본 설치 되어 있기 때문에 파일 속성관리를 설치한후 바로 관리 할 수 있다. 그 결과값은 web을 통해 확인 할 수 있으면 자세한 내용은 “6-3-10. web 결과화면 분석방법”을 참고하기 바란다.


6-1. chattr


이 명령은 파일의 속성을 변경시키는 명령이다.


형식 : chattr [ -RV ] [ -v 버전 ] [ 모드 ] 파일명


옵  션

설    명

-R

디렉토리와 그 이하 모든 내용의 속성을 변환시킨다.

-V

변화된 속성에 대하여 자세히 출력한다.

-v 버전

파일 버전을 설정할 수 있다.


심볼릭 모드의 형식

+

주어진 속성을 추가 설정한다.

-

주어진 속성을 제거한다.

=

설정 속성만 부여하고 나머지는 해제한다.


속 성

설    명

a

속성을 지닌 파일은 쓰기시에 오로지 추가만 할 수 있게 만듭니다.

c

속성을 지닌 파일은 커널에 의해 디스크상에 압축 상태로 저장된다. 파일로부터 읽기 작업을 하면 압축이 풀린 자료가 반환되고, 쓰기 작업은디스크 상에 저장하기 전에 자동으로 압축된다.

d

속성을 지닌 파일은 dump명령 수행시 백업되지 않는다.

i

속성을 가진 파일은 수정, 삭제 등의 어떠한 작업도 할 수 없게 만듭니다. 지울 수도 이름을 변경할 수도 그리고 링크도 가할 수 없으며 어떤 자료도 써질 수 없다. 오로지 root만이 다시 이 속성을 설정하거나 지울 수 있다.

s

속성을 가진 파일이 지워질 때는 일단 블럭들이 모두 0 으로 되고 다시디스크에 작성하게 된다.

S

속성을 가진 파일이 수정될 때는 그 변화가 디스크에 동기화된다. 이것은 마치 sync 마운트 옵션을 몇몇 파일에게 부여한 것과 같것 이다.

u

속성을 가진 화일이 지워지면 그 내용이 별도저장되고, 사용자는 다시 복구할 수 있게 된다..

j

속성을 가진 파일은 저장할 때 저널일 파일시스템으로 테이타를 저장한다.


실제 사용의 예


PIC3CE.gif


6-2. lsattr


이 명령은 파일의 속성을 보여주는 명령어이다. 위에서 살펴본 chattr 명령어를 이용하여 파일의 속성을 변경하였다면 lsattr이란 이 명령어로 그 변경된 속성값을 확인 해볼 수 있다.


형식 : lsattr [ -Radv ] 파일명


옵션

설   명

-R

디렉토리와 그 내부의 내용들까지도 속성값을 출력한다.

-a

‘.’로 시작하는 화일을 포함한 디렉토리 내 모든 파일을 열거한다..

-d

디렉토리를 보여줄 때 그 안에든 화일을 보여주는 것이 아니라 일반 파일과 마찬가지로 보여준다.

-v

파일 버전을 출력한다.


실제 사용의 예


PIC3CF.gif


7. 예약 작업


예약작업은 주기적으로 시스템 관리자나 애플리케이션에서 해야 할 일들을 자동으로 처리하도록 도와주는 역할을 말한다. 예약작업을 통해 진행하는 작업은 아주 다양하면 많다. 여기서는 기본 동작방법과 실행방법을 알아보겠다. SULinux에서는 예약작업을 통해 시스템 점검 및 주기적 백업관리가 가능하다. 자세한 내용은 “6-3-9. 자동 시스템 점검 & 자동백업”을 참고하기 바란다.


7-1. crontab


같은 작업을 주기적으로 반복할 수 있도록 해주는 명령어이다. 보통 /usr/bin/crontab명령어로 반복주기와 명령어는 /etc/rc.d/init.d/crond라는 cron 데몬에 의해 주기적인 작업이 가능하다.


관련명령어 및 파일


crontab이란 명령어는 cron작업을 설정하는 명령어 실행시키면 기본 편집기인 vi가 실행되도록 하는 명령어이다.


형식 : crontab [옵션] [파일명]


옵 션

설    명

-l

현재 crontab에 의해 설정된 내용을 출력한다.

-e

crontab의 내용을 작성하거나 수정할수 있다.

-r

crontab의 내용을 삭제한다.

-u

root권한자가 각 사용계정으로 동작할 crontab 파일을 생성할 경우 사용한다.


실제 사용의 예


1) [root@localhost ~ ]# crontab -l

no crontab for root

설명 : 작업의 목록을 보여준다. 하지만 no crontab for root라는 말은 root로 등록된 예약 작업이 없다는 것이다.


2) [nemo@www nemo]$ crontab -r

설명 : 이 명령어를 실행하는 계정으로 등록된 예약 작업을 모두 삭제한다.


3) [root@localhost ~ ]# crontab -e -u nemo

설명 : nemo이라는 사용자의 crontab을 작성하거나 수정한다.


4) [nemo@www nemo]$ crontab aaa

설명 : aaa라는 미리 작성한 cront 형식을 crontab에 적용하는 경우이다.


crontab 작성 형식


MM HH DD mm d command


 crontab 작성을 위해서는 기본 5개의 날짜 필드와 1개의 명령필드로 구성되어 있다는 사실을 알고 있어야 한다.


날짜필드의 형식은 MM HH DD mm d 이과 같으면 각 형식의 내용은 다음과 같다.


형   식

설    명

MM

분(Minute)을 의미한다.(0~59까지 사용)

HH

시(Hour)를 의미한다.(0~23까지 사용)

DD

날짜(Day of Month)를 의미한다.(1~31까지 사용)

mm

달(Month)을 의미한다.(1~12까지 사용)

d

요일(Day of Week)을 의미한다.(0~7까지 사용)

command

실행할 작업을 명기한다.


위 형식에서 시간을 나타내는 각 필드에서 와일드 카드( * )를 사용할 수 있고 각각의 요일을 구분할 때 ',' 를 사용하고, 연일을 나타낼 때는 '-'를 사용할 수 있다. 즉 월요일과 수요일은 '1,3'으로 월요일부터 금요일까지는 '1-5'로 표시할 수있다.


예약 작업을 위한 기본 설정 파일


/etc/crontab이라는 기본 파일을 이용하여 예약 설정을 할수 있다.

PIC3D0.gif


위 예의 run-parts는 디렉토리 이하의 스크립트를 순차적으로 실행하라는 명령어이다.


/etc/cron.allow 은 예약 작업을 진행 할 수 있는 사용자를 제한하기 위한 설정 파일이다.


/var/spool/cron 디렉토리는 각각의 사용자가 등록한 crontab은 이 디렉토리 아래에 각 사용자의 계정이름으로 저장되어 동작하게 된다.


실제 예제를 통하 예약작업 등록 과정을 살펴보도록 하겠다.


[root@localhost /]# crontab -e


PIC3D1.gif


위의 내용을 입력하고 "Esc + :wq" 입력하면 설정이 완료된다.


위의 설정내용은 매일 01시에 root계정으로 “backup-1.05.1.SULinux --local”이라는 명령어를 실행하라는 것이다.


설정된 정보를 다시 확인 하실려면 “crontab -l” 하면 설정된 정보를 다시 화면에 출력해서 보여준다.


관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,038 명
  • 현재 강좌수 :  35,818 개
  • 현재 접속자 :  99 명