홈페이지 아파치만뜨는거

그누보드5테스트서버 2019. 1. 25. 13:56

html 권한문제

'그누보드5테스트서버' 카테고리의 다른 글

리눅스[센토스] apm 설치  (0) 2019.01.28
리눅스(centos) ftp 설정 22포트  (0) 2019.01.28
CentOS PuTTY를 통한 원격접속  (0) 2019.01.28
리눅스 NTP 시간 동기화  (0) 2019.01.28
그누보드 공부  (0) 2018.12.16

리눅스 로그 분석

리눅스 2019. 1. 25. 11:51

리눅스 콘솔의 정의는 아래와 같습니다.

출처 : http://www.logcenter.net/itcenter/?q=YToyOntzOjEyOiJrZXl3b3JkX3R5cGUiO3M6MzoiYWxsIjtzOjQ6InBhZ2UiO2k6Mzt9&bmode=view&idx=1236937&t=board

리눅스 콘솔은 리눅스 커널에 내부적으로 동작하는 시스템 콘솔입니다. 커널과 다른 프로세스들이 텍스트를 사용자에게 출력하고 사용자로부터 텍스트 입력을 받을 수 있는 방법을 제공합니다. 사용자는 일반적으로 컴퓨터 키보드로 텍스트를 입력하고 컴퓨터 모니터로 텍스트를 출력합니다. 또한 가상 콘솔을 지원하며, 이 콘솔은 논리적으로 분리되어있지만 동일한 물리적 키보드와 디스플레이어로 접근할 수 있습니다.


오늘 설명할 콘솔 로그는 위 정의와 같이 리눅스 커널에 내부적으로 동작하는 시스템 콘솔에 뿌려지는 메시지입니다.

즉, 커널에 관련된 내용을 나타내는 로그입니다.

시스템에 관련된 중요 내용들에 대한 로그를 관리자에게 알리고자 함이 목적이기에 파일에 저장하는 것이 아닌 장치명을 사용하여 콘솔로 로그를 뿌려줍니다.


콘솔로그는 아래의 경로에서 확인할 수 있습니다.

/dev/console



시스템 관리에 있어서 무엇보다 중요한 것이 로그파일분석과 관리입니다. 시스템에 이상징후가 발생하였을 때, 가장 먼저 살펴봐야할 파일이 로그파일이기 때문에 관리해야할 로그 파일의 수와 경로를 알고 있는 것이 중요합니다.


이 밖에 중요 커널로그는 다음과 같습니다.



① 부팅로그

시스템의 데몬들이 실행되거나 재시작되었을 때 기록되는 로그파일입니다.

부팅시의 에러나 조치사항을 확인할 때 활용이 가능하며, timestamp/호스트명/데몬명(PID)/메시지 내용이 기록됩니다.

리눅스가 부팅될 때 나타나는 메시지를 기록하고 있으므로 에러 발생시 아래 경로를 이용하여 해당 파일을 확인합니다.


/var/log/boot.log


부팅될 당시의 각종 메시지들을 저장하는 커널 부트 메시지 로그가 있습니다.

/var/log/dmesg


시스템이 부팅될 때 출력되었던 메시지 로그를 기록한 것으로 아래의 명령어를 이용하여 확인할 수 있습니다.

dmesg


보통 more, tail, less, grep과 같은 표준 텍스트 제어 도구를 이용하여 검토합니다.

또한, 부팅이 완료한 후에도 커널이 가끔 진단 메시지를 추가로 출력하는 경우도 있습니다. I/O장치에서 오류가 발생하거나 USB가 핫 프로그될 때와 같이 이후에도 이러한 메시지를 검토할 수 있으니 이 점 참고바랍니다.



② 시스템 로그

주로 접속시 인증에 관한 것과 메일에 관한 내용, 시스템에 관한 변경사항 등 시스템에 관한 전반적인 로그를 기록하는 파일입니다.

커널에서 보내주는 실시간 메시지의 로그를 관리합니다.

 timestamp/호스트명/데몬명(PID)/메시지 내용이 기록되며, 보안사고 발생시 가장 먼저 분석해야하는 파일입니다.

/etc/syslog.conf의 설정에 따라 보여지는 정보의 종류가 달라집니다.


/var/log/message

#dmesg 명령어로 확인할 수 있습니다.



③ 커널로그

- wtmp

접속했던 모든 사용자의 로그인과 로그아웃 정보를 가지고 있습니다. 정보를 누적해서 저장하기 때문에 정기적으로 백업 후 삭제가 필요합니다.

아래의 경로로 저장되며, 해킹 피해로 시스템 분석시 비중있게 분석해야하는 파일입니다.

/var/log/wtmp


바이너리 파일 형태이므로 다음의 명령어를 이용하여 해당 로그를 확인합니다.

명령어
설명
last [계정명]
해당 계정의 접속기록 출력
last -R
IP를 제외한 로그 정보 출력
last -a
로그 정보 출력시 IP 뒤로 배치해서 출력
last -d
외부에서 접속한 정보와 reboot 정보 출력



- utmp

시스템에 현재 로그인한 사용자들에 대한 현재 상태를 기록한 로그입니다.

사용자 접속시 먼저 이 파일에 해당 정보가 기록되며 로그아웃시 기록된 정보가 삭제됩니다.

사용자 이름, 터미널 장치 이름, 원격 로그인시 원격 호스트 이름, 로그인한 시간 등을 기록합니다.

아래의 경로로 저장되며, 해킹 피해로 시스템 분석시 비중있게 분석해야하는 파일입니다.

/var/log/utmp


바이너리 파일 형태이므로 다음의 명령어를 이용하여 해당 로그를 확인합니다.

# w


리눅스의 이벤트 로그인 콘솔 및 커널로그에 대해 알아보았습니다.

아래 링크를 통해 다양한 로그 분석을 확인하세요~

db 백업하기

리눅스 2019. 1. 23. 16:22

출처: http://www.happyjung.com/lecture/50?sca=MySQL&page=3&device=mobile


Linux 서버에서 mysqldump 받기 +++++++++++++++++++

mysql DB를 백업하시려면 우선, 텔넷으로 웹서버에 접속을 한 다음 아래와 같이 명령을 넣어주시면 됩니다.

명령어 : mysqldump -h DB서버주소 -u 계정 -p DB명 > 저장할 파일명
(부등호의 방향에 주의합니다.)
위와 같은 명령을 실행하면 Database 안에 있는 모든 자료가 입력한 "파일명"을 가진 파일로 저장됩니다.


1.1 데이타베이스 전체
$> mysqldump -u[사용자아이디] -p 데이터베이스명 > 저장될 파일명
예1) mysqldump -uhappy -p db_happy > db.sql
예2) mysqldump --default-character-set=utf8 --set-charset --extended-insert=FALSE -uhappy -p db_happy > db.sql

1.2 테이블 전체
$> mysqldump -u[사용자아이디] -p 데이터베이스명 테이블명 > 저장될 파일명
예) mysqldump -uhappy -p db_happy tbl_happy > db_table.sql

1.3 특정 DB의 특정 테이블만 덤프
mysqldump -u mysql_admin -p edu a -w'no=>7 and no=<10' > edu_a_cond.sql

1.4. 디비 스키마(Schema)만 백업받기 (DDL)
mysqldump -u mysql_admin -p -d edu > edu_db.sql

1.5 특정DB의 틎정 테이블 스키마만 백업받기(DDL)
mysqldump -u mysql_admin -p -d edu a> edu_a_table.sql

[환경옵션]은 백업시에 어떤환경으로 백업을 할것인가에 대한 옵션이다.
--default-character-set=utf8 # 지정된 캐릭터셋을 기본으로함
--set-charset # 기본지정된 캐릭터셋(default-character-set)을 SET NAMES default-character-set로 설정
--opt # 메모리에 로드하지 않고 바로 화일로 덤프
--create-options # create문 백업시에 테이블 설정을 포함함.
--compatible=DB # 백업sql이 특정 db에 호환되도록 함 예) mysql40, mysql41, oracle, mssql
--extended-insert=FALSE # insert 문을 한줄씩 만든다
--result-file=file # 지정된 file 로 바로 넣음.. "> /BackUp/Mysql/Backup.sql" 과 같은 의미
--triggers # 트리거 덤프
--no-create-db # DB 생성정보를 뺌
--no-create-info # 테이블 생성정보를 뺌
--no-data # 테이블의 데이터를 뺌


2. mysqldump를 이용한 Backup

가장 널리 이용하는 방법이고 가장 확실한 방법이다.
다만 DB 데이터가 큰 경우 Backup 시간이 많이 걸릴수 있기 때문에
보통 크론등을 이용하여 주기적으로 새벽시간을 이용하여 백업받는다.

사용방법은 다음과 같다.
/usr/local/mysql/bin/mysqldump -uroot -pPassword [백업옵션] [환경옵션] > /BackUp/Mysql/Backup.sql
/BackUp/Mysql/ <== 임의로 정한 백업화일 위치이다.

[백업옵션] 의 내용은 아래의 4가지 형태만 알아도 될듯하다.
옵션들에 주의 해주면 다양한 형태로 백업을 받을수 있다.
--all-databases # mysql DB 전체를 백업다는것을 의미한다.
--databases DB1 DB2 DB3 # mysql 에서 특정 DB만 백업받는 것을 의미한다.
DB1 # DB1 이라는 DB 만 백업받을때 사용한다.
DB1 table1 # DB1 이라는 DB의 table1 이라는 테이블만 백업받을때 사용한다.

[환경옵션]은 백업시에 어떤환경으로 백업을 할것인가에 대한 옵션이다.
--default-character-set=utf8 # 지정된 캐릭터셋을 기본으로함
--set-charset # 기본지정된 캐릭터셋(default-character-set)을 SET NAMES default-character-set로 설정
--opt # 메모리에 로드하지 않고 바로 화일로 덤프
--create-options # create문 백업시에 테이블 설정을 포함함.
--compatible=DB # 백업sql이 특정 db에 호환되도록 함 예) mysql40, mysql41, oracle, mssql
--extended-insert=FALSE # insert 문을 한줄씩 만든다
--result-file=file # 지정된 file 로 바로 넣음.. "> /BackUp/Mysql/Backup.sql" 과 같은 의미
--triggers # 트리거 덤프
--no-create-db # DB 생성정보를 뺌
--no-create-info # 테이블 생성정보를 뺌
--no-data # 테이블의 데이터를 뺌
------------------------------------------------------------------------------------------

2.1 MySQL에 등록된 모든 DB 백업 받기.
# mysqldump --all-databases > mysql_all_db.dump

2.2 MySQL에 등록된 moffice21 과 sms DB 백업 받기.
# mysqldump --databases moffice21 sms > mysql_moffice21_sms_db.dump

2.3 MySQL에 등록된 moffice21 DB 백업 받기.
# mysqldump moffice21 > mysql_moffice21_db.dump

2.4 MySQL에 등록된 moffice21 DB의 approval table 백업 받기.
# mysqldump moffice21 approval > mysql_moffice21_approval_table.dump

2.5 MySQL에 등록된 moffice21 DB의 스키마만 백업 받기.
# mysqldump -d moffice21 > mysql_moffice21_schema.dump

2.6 MySQL에 등록된 moffice21 DB의 데이터만 백업 받기.
# mysqldump -t moffice21 > mysql_moffice21_data.dump

글구 옵션[Option] 설명.
--quick : C API의 mysql_use_result() 함수를 사용하므로 속도가 빠르다.
--add-drop-table : 덤프 결과에서 create table 앞에 drop table 절을 추가합니다.
--add-locks : 덤프하기 전에 LOCK table을 이용하여 테이블을 잠그고 덤프후 UNLOCK table을 실행합니다.
--extended-insert : insert 문 하나에서 모든 레코드를 삽입하는 insert 문을 생성합니다.
※ --opt : 위에 나온 옵션을 동시에 사용한 것과 같은 결과를 가져옵니다.
--no-date or -d : 테이블의 스키마만 덤프합니다.
--no-create-info or -t : create table을 출력하지 않고 데이터만 덤프합니다.
--opt 옵션을 주어서 백업하면 나중에 원복을 할때 기존 DB와 TABLE, DATA를 삭제하고 백업한 내용으로 Update를 합니다.
★ --opt 옵션과 -d or -t는 같이 사용할 수 있습니다.

----------------------------------------------------------------------------------
mysqldump -uID -p (TABLE명 혹은 DB명) > 백업할 파일이름.sql
// local 호스트가 아닌경우 호스트를 지정
mysqldump -h192.168.11.10 -uID -p (TABLE명 혹은 DB명) > 백업할 파일이름.sql
// 일반 port가 아닌 포트를 지정한 경우 socket 옵션
mysqldump --socket=(소켓모듈) -uID -p (TABLE명 혹은 DB명) > 백업할 파일이름.sql
// 테이블 구조만 백업받기
mysqldump -h host -u user -ppassword -d database > script.sql
----------------------------------------------------------------------------------



Windows 서버에서 mysqldump 받기 +++++++++++++++++++

1. 원격접속으로 서버에 접속

2. 시작 > 실행 > cmd (windows98 인경우 command)

3. 실행된 도스창에서 mysql > bin 폴더로 이동

4. mysqldump -udbID -p dbName > 백업파일.sql (엔터)
Enter password: dbPass (엔터)

5. 파일 생성을 확인


###### 데이타를 특정 캐릭터셋으로 백업받고자 할때 ###### (2007-06-01 추가)
## euc-kr 백업
$ mysqldump --default-character-set=euckr -hdb.com -udbID -p dbName > backup.sql
Enter password: dbPass (엔터)

$ mysqldump --default-character-set=euckr --extended-insert=FALSE -h주소 -u아이디 -p비밀번호 디비명 > db20101101.sql

## utf8 백업
$ mysqldump --default-character-set=utf8 -hdb.com -udbID -p dbName > backup.sql
Enter password: dbPass (엔터)

$ mysqldump --default-character-set=utf8 --extended-insert=FALSE -h주소 -u아이디 -p비밀번호 디비명 > db20101101.sql


<< 참조 >>
http://cafe.naver.com/bioms/3037
http://tong.nate.com/delusion/33780281
http://blog.naver.com/owner71?Redirect=Log&logNo=20045354948