분류 전체보기29 rsync를 활용한 디렉터리 백업 스케쥴러 만들기 특정 디렉터리의 파일목록을 주기적으로 백업하여 관리하고자 할 경우 rsync를 활용하여 쉽게 수행할 수 있다. 백업 디렉터리를 rsync를 사용하여 생성할 때 date 정보를 파일명에 추가하고, tar 로 압축하여 디스크 공간을 확보한다. 이후 설정된 보관주기에 따라 오래된 백업파일을 찾아 삭제하도록 구성하였다. 이렇게 생성한 스크립트 파일을 crontab에 원하는 주기로 설정해 주면 끝! #!/bin/bash # 보관주기 설정 REMOVE_OLD_DATA_DAY=30 # 원본 디렉터리 FROM_LOCATION=/data/mydata # 백업 저장소 TO_LOCATION=/data/mydata_backup # 백업 날짜 BACKUP_DATE=$(date '+%Y%m%dT%H%M%S') # 백업 디렉터리 .. 2022. 6. 27. Container Image 로부터 Dockerfile 내용 추정 방법 특정 컨테이너 이미지에 대한 build 내용을 확인하고 싶은데 어떻게 해야 할까? 구글링을 통해 Dockerfile 원본 수준의 내용을 추출하는 정도까지는 아니지만 유사한 내용을 확인할 수 있는 방법을 확인하여 그 내용을 정리한다. $ # alias 설정을 통해 dfimage 별칭을 구성한다. $ alias dfimage="docker run -v /var/run/docker.sock:/var/run/docker.sock --rm alpine/dfimage" $ # nginx:latest 이미지의 build 내용을 확인한다. $ dfimage -sV=1.36 nginx:latest dfimage 별칭을 통해 명령어를 실행하면 dockerhub에서 alpine/dfimage 이미지를 다운로드 한 이후, 비.. 2022. 6. 27. Jenkins 로 빌드 및 배포 자동화 구성하기 Jenkins 를 설치한다. 설치는 컨테이너로 하며, 다음과 같이 컴포즈 파일을 작성해주고 서비스할 포트를 매핑한다. version: "3" services: jenkins: image: jenkins/jenkins:lts-jdk11 container_name: jenkins privileged: true #restart: always ports: - 15000:8080 environment: - TZ=Asia/Seoul - JAVA_OPTS="-Duser.timezone=Asia/Seoul -Xmx1024m -Xms1024m -XX:+UseG1GC -XX:+AlwaysPreTouch -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:+Disabl.. 2022. 5. 29. GitLab 으로 소스코드 관리하기 Git repository를 관리해주는 대표적인 서비스로 Github가 있다. 다만 Github는 무료 서비스이기는 하지만 모든 소스를 공개해야 하고, 비공개 또는 복수의 프로젝트를 관리하려면 유료 버전으로 변경하여야 한다. 또한 조직 관점에서의 관리 기능이 많이(?) 제공되지는 않는 것 같다. 이에 반해 GitLab은 개인 또는 조직이 Git repository를 관리하게 할 수 있도록 하는 소프트웨어의 모음으로, Github 공개 버전 정도로 생각하면 된다. GitLab도 무료버전부터 유료버전까지 존재하며 그 차이점은 아래 그림과 같다고 한다. 조직에서 GitLab을 사용하게 될 경우 상용 버전을 사용하거나, 무료 버전 기반으로 IT 엔지니어들이 운영/유지보수를 담당할 수 있을 것이다. 본 포스팅에서.. 2022. 5. 29. 이전 1 2 3 4 5 ··· 8 다음