웹프로그램 특성상 주기적으로 자동실행이 안되는데 lynx라는 텍스트 브라우저를 설치하고 
crontab에 등록하면 특정 시간마다 주기적으로 자동 접속되어 웹페이지가 실행 됩니다.

쉘방식으로도 실행이 가능하지만 웹으로 돌릴때보다 몇가지 다른 처리(경로 or 함수 등)가 필요 합니다.

리눅스 센토스나 우분투에서 활용하는 방법입니다.


1. 센토스 쉘에서
yum install lynx

2. 우분투 쉘에서
sudo apt-get install lynx

위와 같이 lynx 브라우저를 설치했다면 crontab에 추가합니다.

/etc/crontab -e

50 23 * * * lynx http://실행할주소 -> 매일 23시 50분에 지정한 주소에 접속합니다.

*/1 * * * * lynx http://실행할주소 -> 1분마다 지정한 주소에 접속합니다

위와 같이 설정했다면 웹을 어플리케이션 처럼 자동 실행 될 수 있습니다.


Posted by 달팽이맛나
,

1. 파티션 용량 확인

df -h


2. 하위 각디렉토리 용량

du -h


3. 하위 디렉토리 depth 설정

du -h --max-depth=1

Posted by 달팽이맛나
,

[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.23.1-42.fc8 #1 SMP Tue Oct 30 13:55:12 EDT 2007
i686 i686 i386 GNU/Linux


[root@localhost ~]# cat /etc/issue
Fedora release 8 (Werewolf)
Kernel \r on an \m


[root@localhost ~]# cat /etc/issue.net
Fedora release 8 (Werewolf)

[root@localhost ~]# cat /etc/redhat-release
Fedora release 8 (Werewolf)


[root@localhost ~]# cat /proc/version
Linux version 2.6.23.1-42.fc8 (kojibuilder@xenbuilder4.fedora.phx.redhat.com)
(gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)) #1 SMP Tue Oct 30 13:55:12 EDT 2007


[root@localhost ~]# cat /etc/rc.sysinit | grep PRODUCT
PRODUCT=`sed "s/Red Hat \(.*\) release.*/\1/" /etc/redhat-release`
echo " $PRODUCT"
PRODUCT=`sed "s/Fedora \(.*\) \?release.*/\1/" /etc/redhat-release`
echo " $PRODUCT"
PRODUCT=`sed "s/ release.*//g" /etc/redhat-release`
echo "$PRODUCT"

* cpu 정보 보기
cat /proc/cpuinfo

* 하드 디스크 정보(scsi)
cat /proc/scsi/scsi


Posted by 달팽이맛나
,

[LINUX]yum

LINUX/기본 2011. 7. 19. 13:56

기본 명령어

패키지 리스트 확인 : 
# yum list
설치된 패키지 확인 :  # yum list installed
업데이트 목록 확인 :  # yum list updates

패키지 정보 확인     :  # yum info 패키지

패키지 의존성 확인 :  # yum deplist 패키지


# yum install 패키지 :  새로운 패키지 설치, 의존성이 있는 경우 해당 사항들을 자동으로 같이 설치.
# yum update 패키지 : 설치되어 있는 패키지 업데이트
# yum update : 설치되어 있는 모든 패키지 업데이트
# yum localinstall 패키지 :로컬에서 설치(현 시스템에 받아 놓은 경우)
# yum remove 패키지 or yum erase 패키지 : 패키지 삭제
(여기서 yum은 해당 패키지만 삭제하는 것이 아니라 해당 패키지에 의존적인 모든 패키지들을 삭제한다.)
# yum search 문자열 : 특정한 문자열이 있는 내용을 출력

 

yum이 제대로 작동을 하지 않을 때.

# yum clean all : (캐시되어 있는 헤더와 패키지 모두 제거. 
all은 clean expire-cache, clean packages, clean headers, clean metadata, clean dbcache, clean dbcache, clean rpmdb, clean plugins의미.
yum clean headers; yum clean metadata 두개의 명령으로 CLEAN OPTIONS의 all을 대신 할 수도 있다.) 

# yum check

# yum check-update :시스템에 설치된 패키지 중에서 업데이트 목록만 보여준다.

 

Posted by 달팽이맛나
,

[linux] /etc/fstab

LINUX/기본 2010. 1. 20. 13:55

/etc/fstab은 파일시스템들을 목적에 맞게 사용할 수 있도록 여러가지 정보들을 저장하고 부팅시에 자동으로 적용될 수 있도록 합니다.  이 파일의 정보가 조금이라도 잘못되면 부팅과정의 파일시스템마운트단계에서 멈추어 버립니다.

 

이 파일에 설정되는 정보들은 파일시스템의 장치명들과 마운트포인트(마운트될 위치, 디렉토리)와 파일시스템의 여러가지 옵션들 입니다.

 

이 파일에 설정되는 파일시스템의 정보들은 다음과 같은 것들이 있습니다.

      

       - 해당파일시스템의 장치명(device name)

       - 파일시스템이 마운트될 마운트포인트(디렉토리명)

       - 파일시스템 타입(ext2, ext3, iso9660, swap)

       - 파일시스템을 Read Only로 마운트할 것인가?

       - 파일시스템을 Read, Write로 마운트할 것인가?

       - Quota정책을 적용할 것인가?

       - 일반사용자도 마운트할 수 있도록 허용할 것인가?

       - 부팅시 자동으로 마운트를 할 것인가?

       - SetUID, SetGID 설정을 허용할 것인가?

       - fsck로 파일시스템검사시 검사하는 순서설정

 

위와 같은 정보들이 /etc/fstab에 저장되어 있습니다.

 

그럼, 먼저 /etc/fstab파일의 실제 예를 보도록 하겠습니다.

 

아래는 필자가 사용하고 있는 리눅스서버의 /etc/fstab파일의 두가지 예이며 동일한 파일을 두가지 방법으로 표시한 것입니다.

 

/etc/fstab파일 예 #1 : 파일시스템장치명을 레이블명으로 표시함

 

아래의 파일은 /etc/fstab파일의 내용으로서 파일시스템장치명부분을 레이블명으로 표시한 것입니다.


 

 

/etc/fstab파일 예 #2 : 파일시스템장치명을 장치명으로 표시함

 

그리고 다음 /etc/fstab파일은 위와 동일한 것으로서 파일시스템장치명부분을 장치명으로 표시한 것입니다.




, LABEL=/라고 되어 있는 부분이 /dev/hda5로 표시되어도 무관합니다. 파일시스템 레이블(LABEL) “/” /dev/hda5이기 때문입니다. 그리고 /dev/hda1의 파일시스템 레이블(LABEL) boot이기 때문에 위의 두가지 설정은 동일한 설정으로서 앞의 파일에서는 파일시스템장치명을 레이블명(LABEL, 파일시스템이름)으로 표시한 것일 뿐입니다. 

 

레이블명으로 되어 있는 첫번째 파일의 예는 대부분 리눅스를 설치한 후에 기본설정으로 되어 있는 것이며, 장치명으로 되어 있는 두번째 파일의 예는 첫번째파일을 수정하여 표시한 것입니다.  레이블명으로 되어있는 것 보다는 명확한 파일시스템장치명으로 표시하는 것이 서버관리에 효율적이다라는 것을 알기 때문에 필자는 이렇게 사용하고 있습니다.

 

 

/etc/fstab파일의 구조

 

, 그럼 이 파일의 구조에 대해서 설명하도록 하겠습니다. 

 

먼저, fstab파일의 각행은 모두 6개의 항목으로 구분되어 있으며 6개의 항목은 다음과 같습니다.

 

[파일시스템장치명] [마운트포인트] [파일시스템종류] [옵션] [dump관련설정] [파일점검옵션]

 

위의 형식은 리눅스의 /etc/fstab파일을 나타내는 기본 구조입니다.  /etc/fstab파일을 이해하려면 무엇보다도 위의 각 항목들의 정확한 의미를 이해하는 것이 가장 중요합니다.

 

위의 설정항목들을 하나씩 설명하면 다음과 같습니다.

 

 

 

[파일시스템장치명] : /etc/fstab파일의 첫번째 항목

 

/etc/fstab의 첫번째로 설정되는 항목으로서 파일시스템의 장치명을 설정합니다. , /dev/sda1, /dev/hda2등과 같은 파일시스템 장치명의 자리입니다. 만약 파일시스템에 레이블(LABEL)이 설정되어 있다면 장치명 대신 레이블명으로 지정할 수도 있습니다.

 

 

 

[마운트포인트] : /etc/fstab파일의 두번째 항목

 

파일시스템이 마운트될 위치, 즉 마운트포인트로서 /etc/fstab 2번째 항목입니다.  쉽게 설명해서 / 또는 /home과 같은 이름을 의미합니다. 위의 예에서는 /dev/hda2 /home에 마운트되어 있는 것을 알 수 있으며, 또한 /dev/hdb1 /home1에 마운트되어 있다는 것을 알 수 있습니다. 여기서 /home /home1과 같은 부분을 마운트포인트라고 합니다.

 

 

 

[파일시스템종류] : /etc/fstab파일의 세번째 항목

 

파일시스템의 종류를 설정하는 항목으로 /etc/fstab 3번째 항목입니다. , 앞의 예에서 /dev/hda2 /home에 마운트되며 파일시스템종류로는 ext3을 사용하고 있다는 것을 알 수가 있습니다. 그리고 /dev/hda3 swap파일시스템으로 사용되고 있다는 것도 알 수가 있습니다.  이렇게 3번째 항목에는 파일시스템의 종류를 설정하는 자리이며 여기에 올 수 있는 파일시스템의 종류에는 다음과 같은 것들이 있습니다.

 

 

ext 

초기 리눅스에서 사용되었던 파일시스템으로서 현재는 사용하지 않음.

ext2

현재 많이 사용하고 있는 파일시스템으로서 긴파일명을 지원하는 것이 특징임.

ext3

저널링파일시스템으로서 ext2에 비해 파일시스템 복구기능과 보안부분을 크게 향상시킨 것으로 현재는 ext2보다 ext3을 기본 파일시스템 타입으로 사용하고 있음.

iso9660

CD-ROM의 표준 파일시스템으로서 Read Only로 사용됨.

nfs

Network File System으로서 원격서버를 마운트할 때 사용함.

swap

스왑파일시스템으로서 스왑공간으로 사용되는 파일시스템에 사용됨.

ufs

UNIX FileSystem으로서 UNIX SYSTEM 5계열에서는 표준파일시스템임.

vfat

윈도우 95 98, 그리고 NT를 지원하기 위한 파일시스템.

msdos

MS-DOS파티션을 사용하기 위한 파일시스템

hpfs

HPFS에 대한 파일시스템.

ntfs

윈도우NT 2000 NTFS파일시스템을 사용하기위한 파일시스템.

sysv

유닉스시스템 V를 지원하기 위한 파일시스템

hfs

Mac컴퓨터의 hfs 파일시스템을 지원하기 위한 파일시스템.

ramdisk

RAM디스크를 지원하는 파일시스템

리눅스에서 지원가능한 파일시스템은 매우 많지만, 대체적으로 위의 범주에서 사용됩니다. 그리고 다음은 리눅스에서 지원되는 파일시스템의 종류들입니다. 

 

adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext2, ext3,  hfs,  hpfs,  iso9660,jfs,  minix,  msdos,  ncpfs,  nfs,  ntfs,  proc, qnx4, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix,  xfs

 

이와 같은 파일시스템들을 모두 지원가능하지만 모두 사용하는 것은 아닙니다. 만약 여러분들께서 현재 사용하고 있는 리눅스시스템에서 지원가능한 파일시스템을 확인해 보시려면 /proc/filesystems를 보시기 바랍니다.

 




[옵션] : /etc/fstab파일의 네번째 항목

 

파일시스템을 용도에 맞게 사용하기 위한 파일시스템 속성을 설정하는 옵션으로서 /etc/fstab의 네번째 설정항목입니다.  위의 예에서 /dev/hda2 파일시스템은 ext3으로 포맷되었으며 /home에 마운트되어 defaults속성을 가지고 있습니다. 여기서 defaults속성은 아래 설명을 참조하시기 바랍니다. 다음은 fstab의 네번째 설정항목에 설정가능한 파일시스템의 속성들입니다.

 

defaults
rw, nouser, auto, exec, suid
속성을 모두 가지는 속성임. 가장 일반적인 파일시스템에서 사용되는 속성임.

auto
부팅시 자동마운트됨.

exec
실행파일이 실행되는 것을 허용하는 파일시스템.

suid

SetUID SetGID의 사용을 허용하는 파일시스템

ro

읽기전용 파일시스템으로만 사용됨(Read Only)

rw

읽고 쓰기 파일시스템으로 사용됨(Read, Write)

user

일반 계정사용자들도 마운트를 할 수 있는 파일시스템.

nouser

일반 계정사용자들은 마운트 할 수 없는 파일시스템. root mount할 수 있음.

noauto

부팅시 자동마운트되지 않게함.

noexec

실행파일을 실행되지 못하게 하는 파일시스템.

nosuid

SetUID SetGID의 사용을 허용하지 않는 파일시스템.

usrquota

개별 계정사용자의 쿼타(Quota)설정이 가능한 파일시스템.

 

grpquota

그룹별 쿼타(Quota)설정이 가능한 파일시스템.

 

따라서 위의 예에서 보았던 /dev/hda2 /home2에 마운트되며 defaults라는 속성을 가지고 있으므로 읽고,쓰기가 가능하며(rw), 일반사용자들은 마운트할 수 없으며(nouser), 부팅시 자동마운트가되며(auto), 실행파일의 실행이 가능하며(exec), SetUID SetGID의 설정이 가능(suid)한 파일시스템 속성으로 마운트되어 사용된다는 것을 알 수가 있습니다.

 

 

 

[dump 관련설정]  : /etc/fstab파일의 다섯번째 항목

 

fstab의 다섯번째 설정항목으로서 0 또는 1을 가질 수 있습니다. 1 은 데이터백업등을 위해 dump가 가능한 파일시스템이며, 0 dump명령으로 덤프되지 않는 파일시스템입니다.

 

 

 

[파일점검옵션] : /etc/fstab파일의 여섯번째 항목

 

fstab의 여섯번째 설정항목으로서 0 또는 1, 그리고 2가 올 수 있습니다. 0은 부팅시 실행되는 fsck가 실행되지 않는 설정이며, 1은 루트파일시스템을 의미하며, 2는 루트파일시스템 이외의 파일시스템을 의미합니다. , 여기서 설정된 파일시스템의 순서를 기준으로 부팅시 실행되는 fsck의 순서가 결정됩니다.

 

지금까지의 설명을 바탕으로 앞서 미리 보여드렸던 필자가 사용하고 있는 시스템의 /etc/fstab파일의 설정내용을 중요한 부분만 하나씩 설명드린다면 다음과 같습니다.

 

 

첫번째, /dev/hda5는 레이블명(파일시스템이름)“/”이며 /(루트)에 마운트되며, ext3파일시스템을 가지고 rw, nouser, auto, exec, suid 속성을 가지며(defaults), dump가 가능한 파일시스템이며 부팅시 fsck로 우선점검됩니다.

 

두번째, /dev/hda1은 레이블명이 “/boot”이며 /boot에 마운트되며, ext3파일시스템을 가지고, rw, nouser, auto, exec, suid 속성을 가지고 dump가능하고, 부팅시 fsck에 의해 점검됩니다.

 

세번째, /dev/hda2는 레이블명이 “/home”이며 /home에 마운트가 되고, ext3파일시스템을 가지며, rw, nouser, auto, exec, suid 속성을 가지고, dump가 가능하며, 부팅시 fsck에 의해 점검되는 파일시스템입니다.

 

네번째, /dev/hda3은 레이블명은 없으며, 스왑공간으로만 사용되고, rw, nouser, auto, exec, suid 속성을 가지며, dump가 되지않으며, 부팅시 fsck에 의해 점검되지 않는 파일시스템입니다.

 

 

흔히 /etc/fstab에 설정된 내용들의 의미를 가볍게 넘겨버리는 서버관리자들을 많이 보았습니다.  /etc/fstab의 내용은 서버내에서 가장 기본이 되는 데이터의 저장장치의 파일시스템 속성과 마운트정보를 가지고 있는 것이므로 결코 간과해서는 않되는 부분입니다.

 

이번 장의 내용을 반드시 이해하시고 /etc/fstab의 내용을 정확하게 읽어 낼 수 있는 능력을 가지도록 하십시요. 그렇게 된다면 리눅스서버의 파일시스템이 가슴속 깊이 들어와 매우 친근하게 느껴질 것입니다.

Posted by 달팽이맛나
,

[linux] du 명령어

LINUX/기본 2010. 1. 20. 10:47

옵션
-a : 디렉토리가 아닌 모든 파일에 대한 정보를 출력
-k : 결과 값을 KB 단위로 출력한다. (기본값)
-m : 결과 값을 MB 단위로 출력한다.
-h : 사용자가 이해하기 쉬운 용량의 단위를 표시한다. ((ex) KB,MB,GB)
-l : 하드 링크의 용량을 모두 계산한다.
-s : 사용량의 총 합계만 출력한다.
-S : 하위 디렉토리를 합치지 않고, 각각을 나누어서 계산한다. 지정된 디렉토리 내의 파일과 모든 하위 디렉토리의 용량, 내용까지 볼 수 있다.


# du -sh

# du -Sh

# du -sh /*
Posted by 달팽이맛나
,

wget 사용법

* 이 글은 유닉스 관련 운영체제의 경험이 별로 없는 사람을 위한 wget 의 간단한 지침서입니다.

1. wget ?

코맨드 라인에서 파일 다운로드를 쉽게 할 수 있는 유틸리티이다. 요즘의 대부분의 리눅스 배포판에는 기본적으로 설치되어 있다.

2. Windows 버전의 wget

* win32 에서 사용가능한 바이너리도 존재한다. 여기를 참조.

- 위의 바이너리를 다운로드하고 윈도우 환경변수에서 PATH에 잡혀 있는 폴더로 복사해 둔다.
- "어떻게 윈도우에서 PATH를 잡나요?" 라고 생각하시는 분이라면 여기를 참조할 것.
- "PATH가 뭐지요?" 라고 생각하는 분이라면 걍 C:Windows 폴더로 복사한다. -.-;;;

3. 기본적인 사용법
 
- PATH가 걸린 상태에서 '명령 프롬프트' 를 부르고 'wget' 을 입력한다.
* 보다 명령 프롬프트를 쉽게 사용하려면 여기를 참조.

- "wget --help" 라고 하면 사용할 수 있는 옵션이 출력된다.


4. 중요한 옵션 및 사용예
 
- r : 지정된 디렉토리의 하위 디렉토리의 내용을 몽땅 다운로드한다.

사용예 : wget -r ftp://ftp.ncbi.nlm.nih.gov/blast/db/ 
설명 : 이렇게 하면 ftp://ftp.ncbi.nlm.nih.gov/blast/db/ 의 디렉토리 구조를 유지한 채로 모든 파일을 불러온다.

- nd : 디렉토리를 만들지 않는다. 계층적으로 나열된 웹 사이트의 디렉토리의 내용을 한 디렉토리로 불러올 때 편리하다. -r 옵션과 같이 사용하면 매우 유용하다.

사용예 : wget -nd -r ftp://ftp.ncbi.nlm.nih.gov/blast/db/ 
설명 : 이렇게 하면 ftp://ftp.ncbi.nlm.nih.gov/blast/db/  내의 내용물을 현재 폴더에 몽땅 다운로드받는다.

-A, --accept=: 지정된 확장자의 파일만을 받아온다.

사용예 : wget -nd -r --accept=fna ftp://ftp.ncbi.nlm.nih.gov/genomes/Bacteria/

설명 : 이렇게 하면 ftp://ftp.ncbi.nlm.nih.gov/genomes/Bacteria 에서 확장자가 .fna 인 파일만을 받아서 현재 디렉토리에 저장한다. (물론 -nd 옵션을 빼면 폴더 구조가 그대로 유지된다)


-R, --reject=: 지정된 확장자의 파일만을 빼고 받아온다.

사용예 : wget -nd -r --accept=fna ftp://ftp.ncbi.nlm.nih.gov/genomes/Bacteria/

설명 : 이렇게 하면 ftp://ftp.ncbi.nlm.nih.gov/genomes/Bacteria 에서 확장자가 .fna 인 파일만 빼고 받아서 현재 디렉토리에 저장한다.

-l , --level= : -r 옵션, 즉 하위 디렉토리 받아오기를 사용하였을 때 다운로드받을 최대 단계를 지정할 때 사용한다.

사용예 : wget -nd -r --accept=fna --level=3 ftp://ftp.ncbi.nlm.nih.gov/genomes/Bacteria/ 
설명 : ftp://ftp.ncbi.nlm.nih.gov/genomes/Bacteria 에서 확장자가 .fna 인 파일만 빼고 받고 3단계까지 거슬러 올라서 다운로드를 수행한다.

-N : 현재 다운로드 받을 위치에 있는 파일이 현재 내 하드에 있는 파일보다 새로운 파일일때만 다운로드를 수행한다

-m : 미러 명령. 즉, 특정한 웹사이트의 내용을 그대로 폴더 구조채 긁어오되, 새로 업데이트한 내용만을 다운받고 싶을 때 사용한다.

ftp id, password 지정 : wget ftp://id:password@website



이런 식으로 id와 password를 지정하면 된다

이 정도면 많이 사용하는 옵션에 대해서는 설명했을 것이다. 기타 명령어에 대해서는 wget --help 를 입력하면 자세한 설명이 나와 있다.


5. 기타
 
- 쉘 스크립트나 배치 파일을 이용하여 자동화하면 매우 편리하다.

가령 유닉스 계열이라면

#!/bin/bash
wget -nd -r ftp://id:password@website/$1/


과 같은 식으로 간단한 쉘 스크립트를 작성하여 적당한 이름으로 저장한 후, Path가 걸린 위치에 넣고 실행 권한 (chmod +x <파일이름>) 을 주면 매우 편리하다.

윈도우라면

echo off
wget -nd -r  ftp://id:password@website/%1/


과 같은 식으로 배치 파일을 만들고 *.bat 으로 저장한다.

- 도스 시절부터 PC를 이용해 온 사람이라면 배치 파일에 대해서 잘 알고 있겠지만, 그렇지 않은 사람은 여기 를 참조해 보기를. 사실 유닉스 계열의 쉘 스크립트만큼 강력하지는 않고,윈도우 자체가 GUI 환경 위주의 운영체계이긴 하지만 그래도 어느 정도 수준의 일은 윈도우에서도 처리 가능하다. 사실 Win98 같은 구닥다리 말고 NT 계열의 운영체제 (NT, 2000, XP) 는 결코 널럴하게 만들어진 운영 체제는 아니다. 아마도  NT 계열 MS 운영체제가 유닉스 계열에 대해서 가지는 가장 큰 약점은 '유저의 평균수준' 일지도 모른다. -.-;;
Posted by 달팽이맛나
,

1단계 : 전원스위치 ON
- 시스템 전원공급
- 메인보드의 ROM-BIOS에 있는 BIOS프로그램 자동실행.
 BIOS프로그램은 전원공급과 함께 메모리의 특정번지(예:FFFF0H)에 자동 로드됨
 CPU는 전원공급과 함께 특정번지(예:FFFF0H)의 BIOS프로그램(명령들)을 자동실행함.

2단계 : BIOS프로그램들의 실행내용들
- 자체진단기능(POST-Power On Self Test)
CMOS검사, CPU, MEMORY, 그래픽카드, 키보드, 마우스등 각종 장치들의
이상유무를 검사하고 이들 장치(하드웨어들)을 초기화시킴
- 부팅매체검색과 부트로더(Grub) 실행
POST과정이 이상없이 진행완료되면 검색된 부팅매체
(하드디스크, CD-ROM, 플로피디스크등)에서 부트로더(예:GRUB, LILO)를 불러들임.
즉, 예를들어 하드디스크가 부팅매체로 선택되었다면 하드디스크의 부팅파티션에 있
는 0번섹터 (대부분 MBR이라고도 함)에 있는 부트로더(Boot Loader, 즉, GRUB)을 읽
어들이게 됨.
부트로더(GRUB)가 메모리에 적재되면 BIOS는 종료되고, 시스템제어권은 부트로더
(GRUB)이 갖게됨

 
3단계 : 부트로더(GRUB)의 실행
- GRUB은 실행과 함께 /boot/grub/grub.conf파일을 읽어서 어떤 부팅메뉴(커널)로 부팅을 할 것인가를
 결정하게 됨(자동결정 또는 사용자선택) 이 화면이 GRUB이 화면(파란화면)에 나타나는 첫번째 화면임.

- GRUB은 커널(kernel)이미지를 불러들임. 그리고 시스템 제어권을 커널에게 넘겨줌.


4단계 : 커널의 로딩
- 커널은 swapper프로세스(PID 0번)를 호출함.
- swapper는 커널이 사용할 각 장치드라이브들을 초기화하고 init프로세스(PID 1번)를 실행하게 됨.
- init프로세스가 실행되면서 /etc/inittab파일을 읽어들여서 그 내용들을 차례대로 실행함.


5단계 : init프로세스의 실행(부팅과정의 70-80%)
- 이후의 과정들은 모두 init프로세스의 실행내용들임. (/etc/inittab파일의 실행내용들)
- 즉, 로그인프롬프트가 나오기 까지의 부팅완료화면까지 init프로세스에 의해서 실행되는내용들임.

# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)

id:3:initdefault:
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

x:5:once:/etc/X11/prefdm –nodaemon

name : level-number : options : process -options
name : 각항목(행)의 이름들 (id, si, pr, pf, ca등)
level-number : 해당행의 설정내용을 어떤 부팅레벨에서 실행할 것인가를 설정
options : 다음에 오는 process를 실행할 때 적용할 프로세스 속성(옵션)
respawn, wait, once, off, initdefault, sysinit, powerfail, powerokwait, ctrlaltdel등
process –options : 실행할 실제 내용(명령어)
예)
id:3:initdefault:
si::sysinit:/etc/rc.d/rc.sysinit
ca::ctrlaltdel:/sbin/shutdown -t3 -r now



Posted by 달팽이맛나
,

1. cron 시스템이란?
- 특정 작업을 정해진 시간에 주기적이고 반복적으로 실행하기 위한 데몬과 그 설정들
- cron시스템에는 시스템에서 기본적으로 사용하는 cron설정이 있으며, 이를 시스템크론이라고 함.
- cron시스템에는 root나 일반사용자가 자신의 cron설정을 직접하여 사용하는 사용자크론이 있음.


* cron에 관한 데몬과 파일들

- cron데몬파일                       :   /usr/sbin/crond *직접실행도 가능
- cron데몬의 시작/종료/재시작 :   /etc/rc.d/init.d/crond start/stop/restart
- crond 실행확인                    :   ps –ef | grep crond
- cron설정파일                       :   /etc/crontab
- 시스템크론 설정디렉토리       :   /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly
- 사용자크론 설정파일             :   /var/spool/cron/* (사용자계정명과 동일한 파일명으로 존재함.)
- 사용자크론설정 명령어          :   /usr/bin/crontab
- cron실행내용 기록되는 로그파일 :   /var/log/cron

*참고 : atd에 의한 수행내역은 /var/log/messages에 기록됨.



2. cron 시스템의 실행 흐름도

전원ON ->
init 데몬 ->
crond 데몬실행 ->
ㅇ /etc/crontab 파일을 읽어들임
- /etc/cron.hourly : 매시마다 수행될 내용들 수행함.
- /etc/cron.daily : 매일 1회 수행될 내용들 수행함.
- /etc/cron.weekly : 매주 1회 수행될 내용들 수행함.
- /etc/cron.monthly : 매월 1회 수행될 내용들 수행함.

ㅇ /var/spool/cron 디렉토리에 있는 파일들을 읽어들임
- 각 사용자들의 개별 cron설정파일들을 읽어들여 설정된 내용을 각 주기에 맞게 수행함.
ㅇ cron에 의해 수행되지 못한 작업 anacron에 의해 수행 시도함.
ㅇ cron 로그파일에 실행기록 : /var/log/cron
- crond에 의해 수행된 수행내용 기록
- anacron에 의해 수행된 수행내용 기록
* atd에 의한 수행기록은 /var/log/messages에 기록

3. cron 시스템 살펴보기

 
4. cron의 실행주기 설정형식과 방법

 첫번째  분. 0~59분
 두번째  시. 0~23시
 세번째  일.1~31일
 네번째  월.1~12월
 다섯번째  요일.1:월, 2:화~7,0:일요일
 여섯번째  실행할 명렁어
"*" : 모든 숫자
"-" : 기간(1-12)
"," : 가각의 숫자 (5,7,9)

crontab -l 설정 목록 (= cat /var/spool/cron/root)
crontab -e 설정 수정 vi에디터로 실행 -> /var/spool/cron/root 파일을 연 것이다.

5. 시스템 cron 이해와 활용
설치 기본값으로 시스템에 설정된 cron
ls -l /etc/cron.hourly/
ls -l /etc/cron.daily/
ls -l /etc/cron.weekly/
ls -l /etc/cron.monthly/
6. 사용자 cron 이해와 활용
ㅇ 사용자 cron 의미
- 개별 사용자가 자신의 cron설정을 개별적으로 할 수 있음.
- 개별 사용자의 cron설정파일은 /var/spool/cron 디렉토리내에 자신의 ID와 동일한 파일로 생성됨

ㅇ 사용자 cron 설정시 사용명령어(crontab)
- 개별사용자의 cron설정 방법 : crontab –e
- 개별사용자의 cron설정 확인 방법 : crontab –l
- 개별사용자의 cron설정 삭제 방법 : crontab –r
- root의 일반사용자 cron설정 방법 : crontab –u 사용자명 –e
- root의 일반사용자 cron설정 확인 방법 : crontab –u 사용자명 –l
- root의 일반사용자 cron설정 삭제 방법 : crontab –u 사용자 -r

ㅇ cron 사용허가(불허가) 설정파일
- /etc/cron.allow 파일 : 이 파일에 등록된 사용자는 crontab으로 cron설정가능함.
- /etc/cron.deny 파일 : 이 파일에 등록된 사용자는 crontab으로 cron설정 불가능함

- 설치초기 값으로는 이 두 파일은 존재하지 않음. 따라서 필요시 생성해야 함.
- 설정방법은 한 행에 하나의 ID씩 기재하면 됨.
- 두 파일이 모두 존재하지 않으면 root만 가능.
- 만약 /etc/cron.allow파일을 만들었다면 root라도 이 파일에 root를 등록해야 사용 가능함.

7. 활용 1: 자동백업 설정하는 cron설정하기

8. at 예약작업 스케줄링 활용
  일회성 작업

9. at 예약작업 스케줄링의 실제 작업예

Posted by 달팽이맛나
,

명령어 위치
/usr/bin/find
형식
find [찾을디렉토리] [찾기옵션] [찾은후의 작업]
[찾을디렉토리]
. 현재디렉토리와 그 아래의 디렉토리
/ 루트디렉토리 아래
ID 지정된id의 홈디렉토리 아래

[찾기옵션]
-empty 비어있는 파일
-uid
-gid
-group
-name 지정된 형식의 패턴 ex) find /home/tokigui -name *.txt -print
-never
-perm 퍼미션
-used 최근 n일 이후에 수정된 파일
-user 특정ID의 소유로된 파일 찾기
[찾은후의 작업]
-print  보여주기

-exec 실행하기
특정 파일검색하여 삭제
ex)find /home/tokigui -name *.txt -exec rm -f {} \;
Posted by 달팽이맛나
,