반응형

DevOps 12

리눅스 zip, unzip 압축, 압축 풀기

리눅스 환경에서 zip으로 압축 및 .zip파일을 압축해제하는 zip, unzip 명령어에 대해 정리합니다.1. zipzip 명령어를 통해 특정 파일 혹은 디렉토리를 압축할 수 있습니다.zip [압축 파일명.zip] [압축 대상] [압축 대상]...특정 디렉토리 압축-r 옵션은 대상 디렉토리 하위에 또 다른 폴더가 있을경우 전부 포함시키라는 옵션입니다.zip -r [압축 파일명.zip] [압축 대상 디렉토리]# test 폴더 전체 압축해 test.zip 생성zip -r test.zip test/*2. unzipunzip 명령어를 통해 zip파일 압축 해제를 할 수 있습니다.현재 폴더에 압축 풀기unzip [압축 파일명.zip]특정 디렉토리에 압축 풀기unzip [압축 파일명.zip] -d [압축 풀 경로..

DevOps/Unix, Linux 2020.06.02

리눅스 CentOS Jenkins 설치하기

Jenkins는 가장 널리 사용되는 CI(Continous Integration)툴 중 하나입니다. 현 시점에서 많이 사용되는 CI툴로 Travis CI, Jenkins, TeamCity 등이 있습니다. 이 중에서도 Jenkins는 오랜 기간 널리 사용되어 오면서 수많은 사용자와 플러그인, 레퍼런스 등이 갖춰져있습니다. 개인 프로젝트에 적용할 CI툴을 고민해봤는데, Travis CI는 무료정책도 있지만 현재 제 상황에서는 무료정책을 이용할 수 없는 상황이었고, TeamCity도 일정 기준 이상이면 무료로는 사용이 불가하다고하여 우선 무료이면서 가장 보편적인 Jenkins를 구축해보기로 했습니다. 설치 먼저 아래 명령어로 Jenkins를 설치합니다. wget -O /etc/yum.repos.d/jenkin..

DevOps/Unix, Linux 2020.03.21

리눅스 CentOS Git 설치하기

CentOS에서 git을 설치해 사용하는 방법을 간략하게 정리합니다. 1. 설치확인 설치 전에 먼저 이미 설치되어있는지 확인합니다. git --version command not found 오류가 발생하거나, git이 설치되어있지 않다는 오류 문구가 나면 설치되지 않은 것입니다. 2. 설치 아래 명령어를 통해 git을 설치할 수 있습니다. yum install git 위와 같이하면 yum에서 제공되는 git 버전이 자동으로 설치되는데, 만약 원하는 버전이 있다면 아래와 같이 버전을 명시하면 됩니다. yum install git- 3. 사용자 설정 git config --global user.name "userName" git config --global user.email "email" 4. 정상 설치 ..

DevOps/Unix, Linux 2020.03.20

git commit 날짜, author 변경하기

git을 사용하면 거의 대부분 원격 저장소로 github을 많이 이용합니다. github엔 저장소에 commit 내역을 시각화하여 보여주는 기능(잔디밭..)이 있는데요. 가끔 실수로 날짜를 못지키거나, author를 잘못지정해 색칠이 안되는 경우가 있습니다. 잔디밭에 신경을 쓰시는 분이라면 빈 구멍이 굉장히 신경이 쓰이실수 있는데요. 이 때 사용할 수 있는 방법을 공유합니다. git commit 변경 꼭 잔디밭이 아니더라도 commit의 날짜를 변경해야하는 경우는 종종 있을것입니다. 기본적으로 commit 변경은 변경할 commit을 찾는것에서 시작합니다. 1. commit 히스토리 확인 git log git log 명령어를 실행하면 아래와 같이 commit 히스토리를 확인할 수 있습니다. 아래 내역에서..

DevOps 2019.12.21

리눅스 SSH, MySQL 접속 지연 문제

신규로 발급받은 서버에서 SSH, MySQL 접속 시 상당한 시간이 딜레이되는 현상이 있었습니다. 구글링 해본 결과 서버 측에서 접속한 클라이언트의 IP를 resolve하는 과정에서 발생하는 DNS lookup 등으로 발생하는 지연이 원인이었습니다. 장비, 환경 여러가지에 따라 다르겠지만 제 경우엔 Spring Boot 애플리케이션 구동하는데 DB접속하는 부분에서 20초가량 지연되는 심각한 상황이었습니다. 심각한 상황과 달리 해결방법은 아주 심플하고 간단했습니다. MySQL 접속 지연 문제 해결 my.cnf (주로 /etc/my.cnf 에 위치함) 파일에 클라이언트 IP resolve 과정을 스킵하는 설정을 추가해줍니다. 바로 skip-name-resolve 옵션을 mysqld 섹션에 넣어주면 됩니다. ..

DevOps/Unix, Linux 2019.12.16

리눅스 여러 파일 내용 하나로 합치기

리눅스 쉘에서 여러 파일을 하나로 합치는 방법을 소개합니다.ls [파일명패턴] | xargs cat > [결과파일명]위 명령어 한 줄로 [파일명패턴]에서 선택되어지는 파일들의 내용을 [결과파일명] 파일로 쓸 수 있습니다. 동작 방법을 살펴보면 ls [파일명패턴] 을 통해 먼저 대상 파일들을 선택합니다. ls 명령은 디렉토리에 존재하는 요소(파일, 디렉토리)들의 정보(파일명, 권한, 수정시간 등) 목록을 표준출력으로 출력하는 명령어로, 아무 옵션없이 실행하면 파일명들만 출력하게 됩니다. ls 명령을 통해 출력된 파일명 목록을 |(파이프)를 통해 뒤에 나오는 명령어로 전달합니다. |(파이프)는 이전 명령어의 실행 결과를 다음 명령어의 입력으로 사용할 때 활용됩니다. 다음은 xargs cat 입니다...

DevOps/Unix, Linux 2018.12.06

리눅스 vi 편집기 사용 기초

Linux 환경에서 각 종 텍스트 파일을 편집할 때 vi를 사용합니다.일반 윈도우와 달리 vi 편집기는 명령모드, 입력모드 등 모드가 존재하고 단축키를 어느정도 알고있지 않으면 사용하는데 어려움이 있습니다.하여 기본적으로 vi를 사용하기 위해 알아야할 기초적인 명령어들을 정리합니다.vi 실행vi [편집할 파일] : 편집할 파일을 연다.vi -R [파일] : 파일을 읽기 모드로 연다.입력모드i (insert) : 커서 기준 앞에서부터 문자 입력I : 커서가 있는 행의 가장 앞에서 부터 입력a (append) : 커서 기준 뒤에서 부터 문자 입력A : 커서가 있는 행의 가장 뒤에서 부터 문자 입력o : 커서가 있는 행의 아래 빈 줄 삽입O : 커서가 있는 행의 위에 빈 줄 삽입커서 이동^ : 줄의 맨 처음으..

DevOps/Unix, Linux 2018.09.19

리눅스 SFTP 명령어 사용법

기본적으로 아래와 같은 명령어로 접속할 수 있습니다. sftp [계정]@[IP주소]:[최초디렉토리]# 10.1.2.31에 sftpuser계정으로 접속sftp sftpuser@10.1.2.31# 10.1.2.31에 sftpuser계정으로 접속하면서 .files 디렉토리로 접근sftp sftpuser@10.1.2.31:files접속한 이후엔 기본 쉘 명령어인 'ls' , 'cd' 를 사용하여 디렉토리 탐색이 가능합니다. 다음은 파일 업로드 및 다운로드 방법입니다. # 다운로드sftp > get [파일명]# 업로드sftp > put [로컬 시스템의 파일명]

DevOps/Unix, Linux 2018.09.18

리눅스 tar, gz 압축

tar 명령어는 굉장히 많은 옵션을 사용할 수 있다. 이 포스트에서는 주로 사용하는 패턴인 tar 압축 / 압축해제, tar.gz 압축 / 압축해제 명령어를 기술한다. 1. tar 압축 / 해제 # [압축할 디렉토리]를 [압축파일명.tar]로 압축 tar -cvf [압축파일명.tar] [압축할 디렉토리] # [압축파일명.tar]파일 압축해제 tar -xvf [압축파일명.tar] 2. tar.gz 압축 / 해제 # [압축할 디렉토리]를 [압축파일명.tar.gz]로 압축 tar -zcvf [압축파일명.tar.gz] [압축할 디렉토리] # [압축파일명.tar.gz]파일 압축해제 tar -zxvf [압축파일명.tar.gz] 굉장히 간단하다. (c)vf / (x)vf => 압축 / 압축해제 (z)cvf / (z)..

DevOps/Unix, Linux 2018.09.17

리눅스 스케줄러 (crontab) 사용하기

크론탭이란 특정 작업을 특정 시기마다 수행하고 싶을때 이용할 수 있는 리눅스 스케줄 기능입니다. 크론탭의 기본 사용방법은 다음과 같습니다. 기본 사용법 # 크론탭 조회 # 현재 머신에 등록된 스케줄 목록이 조회됩니다. crontab -l # 크론탭 등록 / 수정 # vi편집기 형태로 크론탭 스케줄을 편집(edit)할 수 있습니다. crontab -e # 크론탭 삭제 crontab -d 스케줄 작성법 크론탭 표현식의 기본적인 형식은 다음과 같습니다. [분(0-59)] [시(0-23)] [일(1-31)] [월(1-12)] [요일(0-7)] [실행할 명령어] [실행할 명령어]를 언제 실행할 지 앞의 5자리를 통해 결정하는 형태입니다. # 금요일 오전 1시 30분에 runbatch.sh을 실행 30 1 * * ..

DevOps/Unix, Linux 2018.09.17