본문 바로가기

Language&Configuration/[Liunx]

(12)
[Linux] rsyslog 개념 및 사용법 - 로그 수집, 분석, 모니터링 개 요리눅스 서버를 운영하며, 로그를 수집하고 확인하는 것은 굉장히 중요한 부분입니다.  로그를 통해 시스템 문제를 검토하고 모니터링하여 문제를 해결할 수 있습니다. 물리적 장치나 애플리케이션 / 데몬 / 네트워크나 커널 등의 여러 로그가 서버에서 생성되고 있습니다.  이런 로그를 빠르고 효율적으로 관리, 저장하는 것이 필요합니다.Rsyslog: Rocket Fast System for Log processingrsyslog는 서버 내에 생성되는 다양한 로그를 로그파일이나 콘솔, 또는 외부 서버로 저장할 수 있게 해주는 프로그램입니다. 가장 널리 사용되는 오픈 소스 로깅 프로그램이며, CentOS 7 또는 RHEL 7의 기본 로깅 서비스이기도 합니다.https://www.rsyslog.com/doc/ma..
[Liunx] Crontab 명령어사용법 - 정기적으로 스케줄러 실행하기 크론탭이란?특정 시간에 프로그램을 실행시키기 위해 사용하며, 윈도우 스케줄러와 비슷한 기능을 한다.매일 혹은 정기적으로 실행해야 하는 예약작업이 있다.리눅스에서는 이런 일을 해 주는 것이 cron이다.cron은 간단한 텍스트 파일에 할 일들을 기록하는데, 관리자인가 아닌가에 따라서 기록할 곳이 달라진다.관리자 권한이 있다면 /etc/crontab 파일에 기록한다.이 파일에 기록하면 한 눈에 예약 작업을 확인할 수 있다는 장점이 있고, 명령을 실행할 사용자도 명시할 수 있다. 관리자 권한이 없다면 crontab -e 명령어를 실행해서 예약 파일을 편집한다./etc/crontab 파일을 편집할 때와 달리 실행할 주체를 명시하는 부분이 없다. root 권한 있는 경우 - /etc/crontab 편집root 권..
[Linux] iptables 명령어 사용법 - 리눅스 상에서 방화벽 설정하기 1. iptables ?iptables는 리눅스상에서 방화벽을 설정하는 도구로서 커널 2.4 이전 버전에서 사용되던 ipchains를 대신하는 방화벽 도구이다. iptables는 커널상에서의 netfilter 패킷필터링 기능을 사용자 공간에서 제어하는 수준으로 사용할 수 있다.패킷 필터링이란 지나가는 패킷의 해더를 보고 그 전체 패킷의 운명을 결정하는 것을 말한다. 일반적으로 패킷은 해더와 데이터를 가진다. 해더에 필터링할 정보인 출발지 IP:PORT, 도착지 IP:PORT, checksum, 프로토콜 옵션 등을 가지며 데이터는 각 각의 전송 데이터가 들어간다.특정 조건을 가지고 있는 패킷에 대해 허용(ACCEPT)과 차단(DROP)등을 지정할 수 있으며, 특정 조건 등을 통해 다양한 방식의 패킷 필터링..
[Linux] rsync 명령어 사용법 - 데이터 백업하기 A. 개요rsync 는 Remote Sync 의 약자로, 빠른 증분 파일 전송을 제공하는 오픈소스 유틸리티입니다.전송 시 네트워크 대역폭을 최소화하는 delta encoding algorithm 을 구현하여 rcp나 scp 보다 훨씬 빠르고 효율적으로 데이터를 동기화할 수 있습니다.rsync 를 통해 서버 간의 동기화나 백업을 진행할 수 있습니다.root 권한이 필요 없고, 익명 사용자(anonymous)를 지원합니다.심볼릭 링크, 디바이스, 소유자, 그룹, 허가권 등을 복사할 수 있고, exclude, exclude-from 옵션 또한 지원합니다.client와 server 프로그램이 모두 포함되어 있으며, server로 구동 시 TCP의 873 포트를 사용합니다.server 구동 시 SSH 나 RSH ..
[Linux] tcpdump 명령어 사용법 - 송수신되는 패킷 정보 출력하기 tcpdump란 무엇인가?리눅스/유닉스 계열 OS에서 조건식에 만족하는 네트워크를 통해 송수신 되는 패킷 정보를 표시해주는 프로그램입니다. tcpdump 사용 방법과 다양한 옵션 등프롬프트에서 tcpdump 명령을 입력해서 사용합니다. 다양한 옵션이 존재하고 조건부 부분에 표현 방식과 범위를 정해 다양한 형식으로 표현할 수 있습니다.# tcpdump [옵션] [조건부] 다양한 옵션-c 숫자지정한 수 만큼 출력-i 네트워크 인터페이스지정한 네트워크 인터페이스를 경유하는 패킷을 출력-w file출력한 패킷 정보를 파일로 만든다-r filew 옵션으로 만든 파일을 읽는다-v패킷 내용을 상세히 본다표현 방식그리고and&&또는or||아니다not!범위 방식네트워크network, mask출발지src목적지dst포트po..
[Linux] rdate/ntpdate 명령어 사용법 - 시간 동기화하기 1. rdate 개요rdate 명령어는 리눅스 시간을 timeserver와 동기화하는 명령어입니다.리눅스는 서버로 운영되는 경우가 많은데 서버 시간은 서버에서 동작하는 여러 서비스에 영향을 주게 되기 때문에 항상 정확한 시간 정보를 유지하는 것이 좋습니다.정확한 시간 정보 유지를 위해 타임서버(Time Server)의 시간 정보를 불러와서 기준 시간으로 삼을 수 있습니다.2. 사용법rdate 명령어에 필요한 argument들의 대한 usage 정보는 rdate 라고만 입력하고 실행하면 볼 수 있습니다.Usage: rdate [-s] [-p] [-u] [-l] [-t sec] ...기본 사용법은 아래와 같습니다.rdate -s timeservertimeserver 에 시간 서버 주소를 넣어주면 해당 서버와..
[Linux] chmod 명령어 사용법 - 파일 권한 변경하기 1. 개 요chmod 명령어는 리눅스의 파일이나 디렉토리의 권한을 변경하는 명령어입니다. 2. 사용법리눅스에서 사용되는 명령어는 모두 대소문자를 구분합니다.Usage:chmod [OPTION]... MODE[,MODE]... FILE...or:chmod [OPTION]... OCTAL-MODE FILE...or:chmod [OPTION]... --reference=RFILE FILE...Change the mode of each FILE to MODE.With --reference, change the mode of each FILE to that of RFILE.-c, --changes like verbose but report only when a change is made-f, --silent, -..
[Linux] kill 명령어 사용법 - 프로세스 안전하게 종료시키기 1. 개요kill 명령어는 강제로 종료시키는 명령어가 아닌 프로세스에 시그널(signal)을 보내는 명령어입니다.이름이 kill 인 이유는 어떤 시그널을 보낼 지 지정하지 않으면, 기본적으로 SIGTERM 시그널을 보내게 되는데 SIGTERM의 기본 동작이 프로그램 종료이기 때문입니다.물론 프로세스에 SIGKILL 시그널을 보내 강제로 종료시킬 수도 있습니다. 그렇지만 일반적인 상황에서 SIGKILL 시그널을 보내는 것은 권장되지 않습니다. 본래 프로그램을 설계 할 때 대부분의 경우 종료 시그널을 받았을 때 처리하고 있던 데이터가 안전하게 정리 될 수 있도록 설계합니다.SIGTERM, SIGINT 등의 종료 시그널에 대해 시그널 핸들러(handler)를 등록하여 시그널이 수신되었을 때 연결된 Socket..
[Linux] ps 명령어 사용법 - 실행 중인 프로세스 확인하기 1. 개요ps 명령어는 리눅스에서 현재 실행중인 프로세스를 확인하는 명령어 입니다.Process Status 이름 그대로 명령어를 실행하면 현재 실행되고 있는 프로세스들의 정보를 화면에 출력합니다.윈도우 : 특정 프로세스가 실행 중인지 확인하거나 강제 종료하기 위해 작업 관리자를 사용리눅스 : ps 명령어가 사용 2. 사용 용도GUI를 사용하지 않는 서버 환경에서 특정 프로세스가 동작 중인지 확인(대부분의 프로세스들이 백그라운드에서 동작하기 때문에)bash 스크립트(script)를 통한 자동화에도 자주 사용주로 특정 프로세스에 시그널(signal)을 보내야 할 때 PID(process id)를 식별하기 위해 사용프로세스가 중단되면 다시 실행시키기 위해 감시하는 목적으로도 사용 3. 사용법ps --help..
[Linux] I/O 재지향(Redirection) 및 파이프(pipe)에 대한 이해와 사용법 1. I/O 재지향(redirection)A. 개요리눅스 쉘은 항상 아래와 같이 표준 입출력을 파일 형태로 열고 있습니다.표준입력(stdin: 키보드)표준출력(stdout: 모니터)표준에러(stderr: 모니터)기본적으로 프로그램은 연산 결과를 출력 장치(파일, 모니터, 프린터 등)로 내보내는데, 출력되는 데이터를 임의로 다른 장치로 보내는 것을 재지향(redirection)이라고 합니다. 다시 말하면 파일이나 프로그램, 명령어 등의 출력을 낚아채어 다른 파일이나 프로그램, 명령어의 표준 입력으로 보내는 것을 말합니다.B. 사용법리눅스에서 열려 있는 파일은 파일 디스크립터(file descriptor)를 할당 받게 됩니다.표준 입력(stdin) = 0표준 출력(stdout) = 1표준 에러(stderr)..
[Linux] nohup 명령어 사용법 - 세션 연결이 끊어지더라도 지속적으로 동작 A. nohup 명령어 설명 및 특징- 해당 명령어는 리눅스에서 프로세스를 실행한 터미널의 세션 연결이 끊어지더라도 지속적으로 동작 할 수 있게 해주는 명령어입니다. 1) 일반적으로 터미널에서 세션 로그아웃(logout)이 발생   -> 리눅스는 해당 터미널에서 실행한 프로세스들에게 HUP signal 이 전달하여 종료   -> 이 HUP signal을 프로세스가 무시(ignore)하도록 하는 명령어라는 뜻으로, nohup을 사용한다.따라서 터미널에서 연결이 끊기거나 터미널을 종료해도 실행했던 프로세스들이 계속 실행된다. 2) 표준 출력(standard output)을 nohup.out 파일로 재지향(redirection) 합니다.터미널이 종료되어도 표준 출력은 nohup.out 파일에 계속해서 기록되기..
[Linux] 리눅스 기본 명령어 모음 및 사용법 (12개) 유닉스 계열인 리눅스에서는 대소문자를 구분합니다. 명령어는 모두 소문자이지만, 일부 옵션에서는 대문자를 사용하기도 합니다.또한, 모든 명령어는 명령어 뒤에 --help 옵션을 주거나 man 명령어를 사용하면  옵션이나 사용법이 나오기 때문에 잘 모르는 명령어는 꼭 보시면 익히면 좋습니다. 예시) pwd --help / man pwd pwd  - print working directory현재 작업중인 디렉토리 정보 출력$ pwd/home/infoofit cd - change directory  경로 이동 - 절대 경로와 상대 경로로 이동 가능$ cd /home/infoofit/mydir$ pwd/home/infoofit/mydir$ cd ..$ pwd/home/infoofit ls - list 디렉토리 목..