■ rsync : 컴퓨터 시스템 상에서 파일을 효율적으로 전송하고 동기화하기 위한 유틸리티
rsync[options][source][target]
옵션
-v : 복사하는 과정을 자세하게 보여줌
-z : 파일을 복사할 때 압축해서 복사함
-h : 읽기 쉬운 형태로 복사 결과들을 출력
-r : 디렉토리 복사할 때 사용
-l : symlink 형태로 복사
-p : 파일과 디렉토리들의 권한 수정
-t : 수정시간 유지
-g : 그룹 속성 유지
-o : 소유자 속성 유지
--devices : root권한이 필요하며 Device 관련된 파일들을 복사해서 생성
--specials : named socket이나 fifo와 같은 특수한 파일들도 복사
데이터 동기화
서버설정
vi /etc/xinetd.d/rsync 실행
disable = no 로 변경
[rsync_test] => 사용할 rsync 서비스 이름
path = /usr/local/test => 데이터원본 경로
comment = rsync_test => 코멘트
uid = root => 권한 사용자
gid = root => 권한 그룹
hosts allow = => rsync 클라이언트 IP
/etc/init.d/xinetd restart => xinetd 서비스 재시작
rsync -avz[IP]::[서비스명][저장디렉토리]
--delete 옵션 : 원본 소스에 없는 파일은 백업 서버에서 삭제
--dry-run : 실제 파일 복사를 하는것이 아니라 처리될 대상 파일 목록만 출력
7. 커널파라미터란
리눅스 시스템의 커널 변수의 값을 제어하며 시스템을 최적화 할 수 있는 방식 (/proc/sys 디렉터리에 존재)
■ 커널파라미터 설정
sysctl - 커널 변수의 값을 제어하여 시스템을 최적화할 수 있는 명령
sysctl 명령어
8. tar – 테입 아카이브를 위해 고안된 파일 형식과 이런 형식의 파일을 다루는데 사용되는 프로그램
많은 파일을 디렉토리 구조, 파일 속성들을 보존하면서 하나의 큰 파일로 묶는 데 사용
명령어
■ 그외 명령어
tar [OPTION] [FILE]
-f : 대상 tar 아카이브 지정. (기본 옵션)
-c : tar 아카이브 생성. 기존 아카이브 덮어 쓰기. (파일 묶을 때 사용)
-x : tar 아카이브에서 파일 추출. (파일 풀 때 사용)
-v : 처리되는 과정(파일 정보)을 자세하게 나열.
-z : gzip 압축 적용 옵션.
-j : bzip2 압축 적용 옵션.
-t : tar 아카이브에 포함된 내용 확인.
-C : 대상 디렉토리 경로 지정.
-A : 지정된 파일을 tar 아카이브에 추가.
-d : tar 아카이브와 파일 시스템 간 차이점 검색.
-r : tar 아카이브의 마지막에 파일들 추가.
-u : tar 아카이브의 마지막에 파일들 추가.
-k : tar 아카이브 추출 시, 기존 파일 유지.
-U : tar 아카이브 추출 전, 기존 파일 삭제.
-w : 모든 진행 과정에 대해 확인 요청. (interactive)
-e : 첫 번째 에러 발생 시 중지.
9. awk - 패턴 탐색과 처리를 위한 명령어
간단하게 파일에서 결과를 추려내고 가공하여 원하는 결과물을 만들어내는 유틸리티
=> 액션을 사용하여 지정된 파일 내용 출력
=>액션을 통해 첫 번째 필드 값 출력
=>필드값에 임의 문자열 같이 출력
=> 지정된 문자열을 포함하는 레코드만 출력
■ xargs - 서버를 운영할 때 다양한 파일을 목록으로 추출하여 삭제, 복사 를 할때 작업을 진행할 수 있게 도움을 주는 명령어
=> /etc 속한 r로 시작하는 이름을 가진 .conf 파일 목록 찾아서 출력
■ ps - 리눅스 OS관리시 프로세스를 확인하는 명령어
프로세스 목록을 보여준다.
옵션
-f : 풀 포맷으로 보여준다(UID, PID
-e : 모든 프로세스 출력
-l : 긴 포맷으로 보여준다
p, -p : 특정 PID의 프로세스를 보여준다
-u : 특정 사용자의 프로세스를 보여준다.
■ pstree
프로세스의 상관관계(부모-자식 관계)를 트리 형태로 출력해주는 명령어
관계를 트리 형태로 출력해주므로 계층 관계를 한 눈에 파악할 수 있음
경로 (/usr/bin/pstree)
옵션
-c : 중복된 프로세스도 모두 출력 (기본 값은 트리 내의 동일한 프로세스를 하나의 프로세스로 출력하고 중복된 개수를 출력함)
-h : 현재 프로세스와 부모 프로세스를 하이라이트 형태로 출력
-H pid : 지정한 pid(프로세스ID)의 프로세스와 부모 프로세스를 하이라이트 형태로 출력
-l : 긴 라인을 모두 출력
-n : pid를 기준으로 정렬하여 출력
-u : uid도 출력
-p : pid도 출력
-U : UTF-8(유니코드) 형태로 출력3
-V : pstree의 버전 정보를 출력
-a : 지정한 인수까지 출력
10. sed
■ sed 란?
- interactive 기능이 없는 간편한 편집기
- 원본의 수정된 내용을 표시하지만 원본은 변경되지 않음
- shell script 작성시 사용
- line 단위로 처리
■ sed에서 사용되는 용어
pattern space
- sed command를 통해 처리될 라인을 임시로 저장하는 공간
- 해당 라인이 처리되면 스크린으로 출력하고 처리가 끝난 라인은 pattern space에서 제거됨
holding buffer
- sed command의 'h' option 사용시 사용되는 특수 buffer
- 'h' option을 사용하면 pattern space의 내용을 holding buffer로 복사함
- holiding buffer의 내용은 'G' command에 의해 출력됨
- 라인 이동시 사용
address
- 라인의 번호
■ 옵션
-e : 다중편집
=> 해당 줄 1,2번째 출 출력
=> infile.txt 파일에서 파일 처음 부터 끝까지 regex 를 REGEXP 로 바꾸어서 출력
-p : 출력
=>2번째 줄 한번더 출력
-d : 삭제
=> 3번째 줄 을 지우고 출력
-s : 치환
=> infele.txt 파일 처음부터 끝까지 중 abb를 eff로 치환해서 출력
모든 줄마다 공백줄 추가
11. rename : 하나 혹은 하나 이상의 파일명을 일괄 변경할때 사용하는 명령어
rename [변경전파일명] [변경후파일명] [대상파일]
=> test0 으로 시작 하는 모든 파일을 test로 변경
=> aaa가 들어가는 모든 파일중에서 파일 이름 aaa를 xy로 변경