SAMBA 설치

yum install samba
systemctl start smb
systemctl enable smb

방화벽 사용시 서비스 추가

firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload

USER 추가 (사용할 유저 있으면 기존 유저 사용)

adduser shareuser
smbpasswd -a shareuser

/etc/samba/smb.conf 파일에서 원하는 공유 디렉토리는 추가하고 필요없는 디렉토리는 지우면 된다. 기본은 홈 디렉토리가 공유 된다.

mkdir -p /shared
vi /etc/samba/smb.conf

[My Folder]
  comment = Shared Folder for Test
  path = /shared
  public = yes
  writable = yes
  write list = shareuser
  create mask = 0666
  directory mask = 0777

systemctl restart smb
​

'OS > Linux' 카테고리의 다른 글

pdnsd로 DNS Proxy 설정하기  (0) 2018.11.05
firewalld 설정  (0) 2018.11.04
vimdiff 사용법  (0) 2018.04.21
Linux 에서 IP 추출  (0) 2018.04.21
랜덤 내용 특정 사이즈 더미 파일 만들기  (0) 2018.02.21

https://aws.amazon.com/ko/blogs/developer/aws-cdk-developer-preview/ 기계번역문

우리는 TypeScript, JavaScript 및 Java 용 AWS 클라우드 개발 키트 (CDK) 개발자 미리보기 릴리스 를 발표하게 된 것을 기쁘게 생각합니다 . .NET 및 Python이 곧 출시 될 예정입니다. AWS CDK는 클라우드 인프라를 코드로 정의하고 CloudFormation을 통해 프로비저닝하는 소프트웨어 개발 프레임 워크입니다. CDK는 AWS 서비스와 완벽하게 통합되며 AWS 리소스를 필수적으로 정의하기 위해 더 높은 수준의 객체 지향 추상화를 제공합니다. CDK는 현대 프로그래밍 언어의 힘을 사용하여 예측 가능하고 효율적인 방식으로 AWS 인프라를 정의하므로 엔드 투 엔드 개발 경험을 향상시킵니다.

CDK를 클라우드 인프라 스트럭처 "컴파일러"로 생각할 수 있습니다. AWS 클라우드 리소스를 추상화하고 AWS 모범 사례를 캡슐화하는 Constructs 라는 고수준 클래스 라이브러리 세트를 제공합니다 . 구문은 응용 프로그램 인프라를 정확하게 정의하고 모든 복잡한 상용구 논리를 처리하는 개체 지향 CDK 응용 프로그램 으로 함께 스냅 할 수 있습니다 . CDK 응용 프로그램을 실행하면 AWS 클라우드 인프라의 "어셈블리 언어"인 CloudFormation 템플릿 으로 컴파일됩니다 . 그러면 템플릿이 CloudFormation 프로비저닝 엔진에 의해 처리되어 AWS 계정에 배포 될 준비가됩니다. CDK 도구를 사용하면 쉽게 정의 할 수 있습니다.애플리케이션 인프라 스트럭처 스택, CloudFormation 서비스는 스택의 안전하고 신뢰할 수있는 프로비저닝 을 처리합니다.

익숙한 도구

CDK를 통해 우리는 매일 사용하는 친숙한 환경과 팀 워크 플로에 인프라 정의를 가져 와서 가장 편안하고 생산적인 곳에서 만날 수 있습니다. CDK는 사용자가 선호하는 객체 지향 프로그래밍 언어를 지원하므로 루프 및 조건과 같은 코드 논리를 자연스럽게 표현하여 모든 환경 또는 시나리오에 맞게 인프라를 사용자 지정할 수 있습니다. CDK 코드는 코드 일 뿐이므로 인라인 설명서, 리팩토링 도구, 코드 탐색 및 단위 테스트와 같은 기존 IDE 기능이 모두 예상대로 작동합니다. 다음 코드는 가용성 영역 및 지역별 AMI ID와 같은 인프라 스트럭처 논리 및 환경 컨텍스트를 사용하여 단일 코드 기반에서 다른 지역에 대한 다양한 응용 프로그램 스택을 만드는 방법을 보여줍니다. 인프라 정의 복사 및 붙여 넣기가 필요하지 않습니다.

// 현재 지역 / 계정에 대한 AZ 목록 가져 오기

const azs = new cdk.AvailabilityZoneProvider(this).availabilityZones;

 

//이 영역의 특정 Windows 버전에 대한 AMI ID 가져 오기

const ami = new ec2.WindowsImage(ec2.WindowsVersion.WindowsServer2016EnglishNanoBase).getImage(this);

 

for (const az of azs) {

// 가용성 영역을 기반으로 구조체 이름을 렌더링합니다.

const constructName = `InstanceFor${az.replace(/-/g, ”).toUpperCase()}`;

 

new ec2.cloudformation.InstanceResource(this, constructName, {

imageId: ami.imageId,

availabilityZone: az,

});

}

세부 사항 요약

CDK는 개발자가 최신 프로그래밍 언어와 객체 지향 기술을 사용하여 CloudFormation 템플릿을 생성 할 수있는 최초의 솔루션이 아닙니다. CDK는 AWS 서비스와 완벽하게 통합되어 IAM 정책, 보안 그룹 및 네트워크 구성과 같은 주요 리소스를 자동으로 종합하는 유용한 API를 제공합니다. 예를 들어 인프라에 Amazon Virtual Private Cloud (VPC)를 추가하려면 다음 코드 줄을 CDK 응용 프로그램에 추가하기 만하면됩니다.

new ec2.VpcNetwork(this, ‘MyVPC’);

CDK 애플리케이션이 컴파일되면 대상 지역의 각 가용 영역에 대한 서브넷과 경로, 경로 표, 서브넷 경로 표 연결, NAT 게이트웨이, 인터넷 게이트웨이 및 필요한 탄성 IP를 정의하는 긴 CloudFormation 템플릿이 생성됩니다 모든 일을하도록하십시오. 스마트 한 기본값 중 일부가 요구 사항을 충족시키지 못하면 VPC 매개 변수를 자신의 값으로 쉽게 재정의 할 수 있습니다.

확장 가능

AWS에서 작성한 CDK Constructs가 제공하는 유용한 API를 활용하는 것 외에도 예측 가능하고 재사용 가능한 코드로 자신 만의 모범 사례를 정의 할 수 있습니다. 예를 들어, 암호화가 활성화 된 S3 버킷을 항상 만드는 CDK 응용 프로그램을 제작하여 팀이 기본적으로 자연스럽게이 작업을 수행 할 수 있습니다.

new s3.Bucket(this, ‘EncryptedBucket’, {

encryption: s3.BucketEncryption.KmsManaged

});

독창적 인 클라우드 고유의 디자인 패턴을 인코딩하고 특정 사용 사례에 중점을두고 내부적으로나 전 세계와 공유하는 더 높은 수준의 CDK 응용 프로그램을 정의 할 수 있습니다. 우리는 당신이 만든 멋진 것들을보기 위해 기다릴 수 없습니다.

바자Bazaar 방문

우리는 닫힌 성당이 아닌 열린 시장처럼 CDK를 건설하고 있습니다. 아직 끝나지 않았습니다! 참조, 익숙하지 않은 사람들을 위해 성당과 시장 , 두 가지 기본적인 소프트웨어 개발 스타일을 대조 에릭 S. 레이몬드에 의해 에세이이며, 오픈 소스, "감안할 때 충분히 눈알, 모든 버그 얕은하다"인수한다 . 오픈 소스 개발자 미리보기이므로 AWS에서 클라우드 애플리케이션을 개발할 때 CDK를 최고의 경험으로 활용할 수 있도록 도와주십시오. aws-cdk GitHub README 를 방문하여 CDK를 시작하는 방법을 배우십시오. Gitter 에 게시 하여 대화를 시작하고, 개발자와 의견 을 교환하고, 풀 요청을 제출하십시오.귀하의 상품을 기부하거나, 단지 우리에게 관심을 보이기 위해 프로젝트에 별표 를 붙이십시오. 우리는 당신과의 협력을 기대합니다.

출처 : https://stackoverflow.com/questions/43671482/how-to-run-docker-compose-up-d-at-system-start-up


crontab의 @reboot 또는 (옛날 방식) /etc/rc.local 파일을 사용 해도 되지만, 앞에 10초 이상 sleep 을 주지 않으면 실행이 안됩니다.

@reboot (sleep 15s ; cd /myapps ; /usr/local/bin/docker-compose up -d )& 


아래 처럼 system service로 해당 앱을 등록 시켜두면 다른 서비스처럼 자동시작/시작/종료 를 제어할 수 있습니다.

# /etc/systemd/system/docker-compose-app.service

[Unit]
Description=Docker Compose Application Service
Requires=docker.service
After=docker.service

[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/srv/docker
ExecStart=/usr/local/bin/docker-compose up -d
ExecStop=/usr/local/bin/docker-compose down
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target


 WorkingDirectory  변수값은 실제  프로젝트 경로로 변경 해야 합니다. 

부팅시 서비스가 자동 시작하도록 설정 합니다.

systemctl enable docker-compose-app

======

zabbix 예제

# /etc/systemd/system/zbx.service

[Unit]
Description=Docker Compose Zabbix Application Service
Requires=docker.service
After=docker.service

[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/root/zabbix-docker
ExecStart=/usr/local/bin/docker-compose -f ./docker-compose_v3_centos_mysql_latest.yaml up -d
ExecStop=/usr/local/bin/docker-compose -f ./docker-compose_v3_centos_mysql_latest.yaml down
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target

서비스가 자동 시작 설정

systemctl enable zbx

서비스 시작 

systemctl start zbx

서비스 종료

systemctl stop zbx


+ Recent posts