[Git] git pull -- 명령어를 수행할 수 없는경우

 

 "refusing to merge unrelated histories"

From https://github.com/SeokRae/boostCourse
 * branch            master     -> FETCH_HEAD
 + 4dfccdd...889581d master     -> origin/master  (forced update)
fatal:  

- pull 명령어에 추가 파라미터 필요

git pull origin master --allow-unrelated-histories

 - 키보드 특수문자 명칭

2019,04.07 TIL

키보드 특수문자 명칭

 

'중얼중얼' 카테고리의 다른 글

[장난감] VAMILO VA87M PANDA EDITION  (0) 2019.01.02

[Linux] 파일 내에 특정 문자열 찾기

 

[요구사항]

 - 로그 파일 내에 2초 이상 걸린 로그 찾기

 

[사전지식]

 - 정규표현식

 - 의도한 바

 "0, 1 초를 제외한 2.xxxxx의 결과를 .out 파일에 저장

# 하나의 파일에서 찾기
cat {파일명} | egrep '[^01]\.[0-9]{5}' >> {결과저장파일}.out

[필요한 추가기능]

 - 갯수를 가져오는 방법

 - 2초가 넘어가는 로그의 키워드를 가져오기 또는 저장

[공부해야 할 것]

 - 정규표현식 (JS, Shell)

'업무' 카테고리의 다른 글

[Linux] 로그파일 관리하기  (0) 2019.04.04

[Linux] 로그관리

 

[요구사항]

 "A는 일주일이 지나면 압축 한 달이 지나면 삭제"

 "B는 보름이 지나면 압축 한 달이 지나면 삭제"

 

미션: 정기적으로 생산되는 로그를 관리해라

 

[필요한 사전지식]

  1. 'find' 명령어 및 파라미터

  2. .sh 파일 만드는 방법

#!/bin/bash

## BACK_A : 7 days ago
## BACK_B : 15 days ago
## DELTE  : 30 days ago

BACK_A=7
BACK_B=15
DELETE=30

## PATH 
## xx/common
## xx/s00/common
## xx/s01/common
## xx/s02/common

## Process Start
for i in 0 1 2 3
do
	## 2년전 날짜 지정으로 최대 2년 전 내용을 기준으로 함
    ORIGIN_DATE=$(date -d '2 year ago + %Y%m%d)
    
    ## 현재 날짜 지정
    NOW_DATE=$(date + %Y%m%d)
    
    ## BACK_A 7일 로그 지정
	BACK_A_DATE=$(date -d '7 day ago' + %Y%m%d)
    
    ## BACK_B 15일 로그 지정
	BACK_B_DATE=$(date -d '15 day ago' +%Y%m%d)

	## DELETE 30일 로그
	DELETE=$(date -d '1 month ago' +%Y%m%d)
	
	## 폴더 변경 로직
	if [ $i -eq 3 ]; then
		COMMON="common"
	else
		COMMON=sc0$i"/common"
	fi
    
    ## 로그 경로
	LOGDIR_A={경로}/A/$COMMON
    LOGDIR_B={경로}/B/$COMMON
	
    ## 정보 출력
	echo "===== INFO ====="
	echo "target : $LOGDIR"
	echo "ORIGIN_DATE : $ORIGIN_DATE"
	echo "NOW_DATE : $NOW_DATE"
	echo "BACK_A_DATE($BACK_A day) : $BACK_A_DATE"
	echo "BACK_B_DATE($BACK_B day) : $BACK_B_DATE"
	echo "DELETE_DATE($DELETE day) : $DELETE_DATE"
	echo "===== INFO ====="
    
    ## 로그 파일 찾아 삭제 시작
    ## 2년 ~ 한 달 전
    ## 압축방식이 달라질 경우 LOGPATH의 내용을 추가해야함
    while [[ $ORIGIN_DATE -le $DELETE_DATE ]]
	do
		YEAR=`date -d $ORIGIN_DATE "+%Y"`
		MONTH=`date -d $ORIGIN_DATE "+%m"`
		LOGPATH=$LOGDIR"/"$YEAR"/"$MONTH"/"$ORIGIN_DATE".log"
		LOGPATH2=$LOGDIR"/"$YEAR"/"$MONTH"/"$ORIGIN_DATE".log.tar"
		LOGPATH3=$LOGDIR"/"$YEAR"/"$MONTH"/"$ORIGIN_DATE".log.gz"
		
		## .log 파일 삭제
		if [ -e "$LOGPATH" ] ; then
			rm -f $LOGPATH
			echo "$LOGPATH 삭제"
		fi
		
		## .bz2 파일 삭제
		if [ -e "$LOGPATH2" ] ; then
			rm -f $LOGPATH2
			echo "$LOGPATH2 삭제"
		fi
		
		## .gz 파일 삭제
		if [ -e "$LOGPATH3" ] ; then
			rm -f $LOGPATH3
			echo "$LOGPATH3 삭제"
		fi
		
		ORIGIN_DATE=`date -d "$ORIGIN_DATE + 1 day" "+%Y%m%d"`
	done
    
    ## A의 빈 디렉토리 삭제
    EMPTY_DIR_A=$LOGDIR_A"/"
	echo "find $EMPTY_DIR_A -empty -type d -delete -print"
	find $EMPTY_DIR_A -empty -type d -delete -print
    
    ## B의 빈 디렉토리 삭제
	EMPTY_DIR_B=$LOGDIR_B"/"
	echo "find $EMPTY_DIR_B -empty -type d -delete -print"	
	find $EMPTY_DIR_B -empty -type d -delete -print
    
    ## 로그파일 압축 : 30일 ~ 15일 전
    while [[ $DELTE_DATE -le $BACK_B_DATE ]]
	do
		YEAR=`date -d $DELTE_DATE "+%Y"`
		MONTH=`date -d $DELTE_DATE "+%m"`
		
		LOGPATH_B=$LOGDIR_B"/"$YEAR"/"$MONTH"/"$DELTE_DATE".log"
		
		EXTENSION=".tar"
		
		## B 디렉토리의 파일 압축 및 LOG 파일 삭제
		if [ -e "$LOGPATH_B" ]; then
			tar -jcvf $LOGPATH_B$EXTENSION $LOGPATH_B
            rm -f $LOGPATH_B
		fi
		
		DELTE_DATE=`date -d "$DELTE_DATE + 1 day" "+%Y%m%d"`
		
	done
    
    ## 압축대상 : 30일 ~ 7일 전
	while [[ $DELETE_DATE -le $BACK_A_DATE ]]
	do
		YEAR=`date -d $DELETE_DATE "+%Y"`
		MONTH=`date -d $DELETE_DATE "+%m"`
		
		LOGPATH_A=$LOGDIR_A"/"$YEAR"/"$MONTH"/"$DELETE_DATE".log"
		
		EXTENSION=".tar"
		
		## ㅁ 디렉토리의 파일 압축 및 LOG 파일 삭제
		if [ -e "$LOGPATH_A" ]; then
			tar -jcvf $LOGPATH_A$EXTENSION $LOGPATH_A
			rm -f $LOGPATH_A
		fi
		
		DELETE_DATE=`date -d "$DELETE_DATE + 1 day" "+%Y%m%d"`
		
	done
    
    ## 종료
    
done

'업무' 카테고리의 다른 글

[Linux] 파일 내에 특정 문자열 찾기  (0) 2019.04.05

[Git] 특정 폴더만 Pull 하기


 - 작업이 누적되다보니 특정 폴더만 작업 해야 하는 경우가 생겼다.

 - 그래서 찾아봄 !!



[핵심]

git config core.sparseCheckout true

echo "{특정폴더}" >> .git/info/sparse-checkout



[Eclipse] Java Project -> Dynamic Web


 - 테스트 프로젝트를 단계별로 작성하기 위해서 Java Project로 생성하고 있었다.

 - Java 외에 추가적으로 Web 관련 기능이 필요해서 프로젝트를 Dynamic Web으로 전환이 필요하다 생각하여 그 방법을 정리



1. Java Project Open


2. 프로젝트 오른쪽 클릭

 - Properties -> Project Facets -> Convert to faceted form...


3. Dynamic Web Project와 Java 체크


4. Apply

 - 프로젝트 Dynamic Web Project로 변경됨


5. /WEB-INF/web.xml 파일 생성하기

 - Java Project에서 Dynamic Web Project로 바뀐 현재 프로젝트 오른쪽 클릭

 - Java EE Tools -> Generate Deployment Descriptor Stub

 - /WEB-INF/web.xml 파일 생성을 확인


 * Dynamic Web Project로 변경 되었으며 Server 추가하여 테스트


끗!


참고 - 

https://crunchify.com/convert-java-project-to-dynamic-web-project-in-eclipse-environment/

https://crunchify.com/eclipse-missing-web-xml-file-how-can-i-create-web-xml-in-eclipse/

[Hands-On-Labs] Building Your First Amazon Virtual Private Cloud (VPC)


[Topic]

* Create an Amazon Virtual Private Cloud (VPC)

(VPC 생성)

* Create a public and private subnets

(Public 및 Pricate Subnet 만들기)

* Create an Internet gateway

(Internet Gateway 만들기)

* Create a Route Table and added route to the Internet

(Route Table만들고 인터넷 경로 추가)

* Create a security group for your web server to only allow HTTP traffic to your web server

(웹 서버가 웹서버에 대한 HTTP traffic만 허용하도록 Security Group을 만들기)

* Create a security group for your MySQL RDS instance to only allow MySQL traffic from your public subnets

(MySQL RDS 인스턴스에 대한 Security Group을 만들어 Public Subnet에서 MySQL 트래픽만 허용)

* Deploy a web server and a MySQL RDS instance

(웹 서버 및 MySQL RDS 인스턴스 배포)

* Configure your application to connect to your MySQL RDS instance

(MySQL RDS 인스턴스에 연결하도록 애플리케이션을 구성)


[Task 1: Create a VPC]


[Task 2: Create Your Public Subnets]


[Task 3: Create an Internet Gateway]


[Task 4: Create a Route Table, Add Routes, And Associate Public Subnets]


[Task 5: Create a Security Group for your Web Server]


[Task 6: Launch a Web Server in your Public Subnet]


[Task 7: Create Private Subnets for your MySQL Server]


[Task 8: Create a Security Group for your Database Server]


[Task 9: Create a Database Subnet Group]


[Task 10: Create an Amazon RDS Database]


[Task 11: Connect Your Address Book Application to your Database]


Conclusion

[AWS Certification + 서버관리 마스터] RDS


[Course Outline]

 1. IAM & EC2

 2. EC2: Elastic Load Balancing(ELB) & Auto Scaling

 3. VPC

 4. Database

 5. Storage

 6. Application Services

 7. AWS Well-Architected Framework & DevOps

 8. Presentation & Review


[RDS]

 - Multi-AZ deployment (Synchronously replicate)

 - Automatic failover

 - Provisioned in subnets

 - DB subnet group

 - Use security groups as a firewall

 - Can disable DB access from the Internet

 - Encryption at rest

 - Automatic backup

 - Point in time restore

 - Automatic minor version upgrade

 - Can choose time to perform maintenance

 - Can modify configuration after provisioned 
 - Changes can be applied immediately or during maintenance window
 - Snapshot (Create a point-in-time backup)
 - Read replica: read-only replica (Asynchronously replicate), up to 5
 - Replica lag
 - How to encrypt??
 - Can only stop an instance for 7 days

[Multi-AZ Deployments vs Read Replicas]



[AWS Aurora]

 - MySQL and PostgreSQL-compatible

 - Up to five times faster than MySQL

 - Up to three times faster than PostgreSQL

 - Auto-scales up to 64TB per database instance

 - Up to 15 read-replicas per a cluster


[DynamoDB]

 - Fully managed NoSQL database 

 - Automatically replicate data across three data center

 - Eventual consistent reads by default

 - Read capacity unit & Write capacity unit

 - https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ProvisionedThroughput.html

 - Use cases


 - Which of the following are use cases for Amazon DynamoDB? Choose 3 answers

A. Storing BLOB data.

B. Managing web sessions.

C. Storing JSON documents.

D. Storing metadata for Amazon S3 objects.

E. Running relational joins and complex updates.

F. Storing large amounts of infrequently accessed data.


[Elasticache]
 - Managed Redis and Memcached nodes 
 - High throughput and low latency in-memory data stores
 - Database, cache, Message broker, queue
 - AWS use cases?? Gaming, DB query

[Redshift]

 - OLAP (Online Analytical Processing) 

 - Columnar Data Storage

 - Advanced Compression

 - Massively Parallel Processing

 - https://www.youtube.com/watch?v=AUvn49gey8Y


[Kinesis]

 - https://s3.amazonaws.com/kinesis-demo-bucket/amazon-kinesis-data-visualization-sample/kinesis-data-vis-sample-app.template


[AWS IoT]


[Homework]


 - Qwiklabs

* Hosting WordPress Using Amazon S3

* Caching Static Files with Amazon CloudFront

* Introduction to Amazon Elastic File System(EFS)


 - Reading

* https://aws.amazon.com/rds/faqs/

* AWS Kinesis FAQs

* https://aws.amazon.com/whitepapers/storage-options-aws-cloud




+ Recent posts