리눅스/서버 백업 4

리눅스 0, 1 / PIPESTATUS

리눅스에서 0은 성공, 1은 실패이다. true echo $? false echo $? 확인해보면 알 수 있다. 성공 여부는 마지막 실행 문장에 대해서만 저장된다. 그리고 파이프 문으로 연결될 시 파이프가 실패해도 성공 여부는 알 수 없다. cat dslakmdas | wc -l echo $? cat 로 존재하지 않는 파일명을 출력하게 하고 파이프로 넘긴 뒤, 행의 갯수를 확인했다. 존재하지않는 다는 파이프문의 오류가 있음에도 ws는 실행되고 성공 값을 확인했다. 사실 파이프 문의 실패 여부를 확인하는 방법이 있는데 그것은 PIPESTATUS 이다. cat asdasdas | wc -l echo "${PIPESTATUS[0]} ${PIPESTATUS[1]}" 1 0으로 출력되는 것을 확인할 수 있다. 그..

명령어 - set [옵션] [옵션명]

리눅스 쉘 스크립트 코드는 디버깅이 없고, 오류가 발생해도 무시하고 진행된다. 이럴 경우 값이 제대로 들어가지 않아 뒤에 코드가 오류가 생기는 경우가 있다. 이럴때 set 옵션을 줘서 디버깅하는 효과를 줄 수 있다. 우선 set를 설명하기 전에 PIPESTATUS에 대해 알아야한다. https://aif0921.tistory.com/43 리눅스 0, 1 / PIPESTATUS 리눅스에서 0은 성공, 1은 실패이다. true echo $? false echo $? 확인해보면 알 수 있다. 성공 여부는 마지막 실행 문장에 대해서만 저장된다. 그리고 파이프 문으로 연결될 시 파이프가 실패해도 성공 aif0921.tistory.com set 에는 e, o, u, x 가 많이 사용되는 듯 하다. 다른 옵션은 찾아..

서버 파일 백업

서버 백업과정은 서버 파일을 안전한 저장소에 예비용으로 하나더 생성하는 과정이다. 서버 파일에는 웹 소스, db 파일 등이 있다. 서버 파일을 어떻게 만드는지는 제쳐두고 백업과정을 해보려고 한다. 과정은 간단하다 필요한 파일들을 tar로 묶어서 다른 vm기기와 공유한다. 그리고 관리자한테 알림하나 전송해주게 한다. #!/bin/bash ## 필요 변수 선언 HOST="$(/usr/bin/hostname)" LOG="/tmp/backup.log" PUSH="/root/test/tel_push.sh" #DATE="$(/usr/bin/date)" DATE="$(/usr/bin/date +%Y.%m.%d)" #백업 할 디렉토리/파일을 지정 BAK_LIST="/etc/nginx /usr/share/nginx/ht..

서버 백업

백업의 필요성 서버는 언젠가는 장애를 일으키며 멈춘다. 언제 일어날지 모르는 장애에 대비해 중요한 데이터를 다른 곳에 보관해야 한다. 그렇다면 무엇을 언제 어디에 백업할 지 궁금해진다. 이를 정하는 것을 백업 정책이라고 한다. 백업 정책 백업 정책은 무엇을 어디에 어떻게 와 언제정도를 정하면 된다. ex) 무엇을 - 웹소스, DB, 스토리지 어디에 - 백업 디렉토리 어떻게 - tar볼로 묶어서 / DB덤프는 백업 툴 사용 / 스토리지는 용량이 크기 때문에 이중화를 통해 안정성 확보 언제 - 새벽 3시~5시 등 트래픽이 가장 적은 시간을 선정 와 같이 정한다. 백업 과정 (명령어) tar - 리눅스의 압축 명령어 사실 tar은 압축은 아니고 하나의 파일로 묶는 느낌이다. (용량이 안줄어듬) 사용법 tar ..