bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)"
스케줄링을 관리하는 프로그램
특정시간대에 사용자가 작성한 스크립트나 명령을 실행하여 백업 시스템을 만들수도 있고 데이터 베이스 관리나 기타 반복적인 업무을 위해서 사용된다.
crontab -l
예약된 작업 리스트 출력crontab -e
예약된 작업 리스트 수정crontab -r
예약된 작업 리스트 목록 삭제/home
이동
cd ubuntu
vim deploy.sh
실행파일 vim으로 작성
#!/bin/bash
set -ex
docker pull <registry주소> | grep "Image is up to date" && pull_status="already_pulled" || pull_status="newly_pulled"
echo $pull_status
if [ "$pull_status" = "newly_pulled" ];
then
docker stop <이름> ;
docker rm -f <이름> ;
docker run -p 8080:8080 --name <이름> -e SPRING_DATASOURCE_URL=jdbc:mysql://<ec2주소>:3306/<스키마명> -e SPRING_DATASOURCE_PASSWORD=<비밀번호> -e JWT_TOKEN_SECRET=<token 비밀번호> -d <registry주소>;
docker image prune -f
fi
sh deploy.sh
로 작동하는지 확인하기docker ps
로 pull, run 잘 진행되었는지 확인crontab -e
* * * * * sh /home/ubuntu/deploy.sh >> /home/ubuntu/deploy.log
* * * * *
때 마다sh deploy.sh
실행하여서 >>
deploy.log 에 누적으로 기록하기ctrl+x
y
yes로 나가기
enter
cat deploy.log
로 log 기록 확인하기