1) 원격 서버 실행
ssh user@ip주소 "
명령어
"
ssh linuxuser@10.10.10.10 "
echo 'Tomcat shutdown'
/usr/local/tomcat9/bin/shutdown.sh
sleep 10
echo 'kill Tomcat'
ps -ef | grep java | grep tomcat9 | grep -v grep | awk '{ print $2}' | xargs kill -9
sleep 10
echo 'Tomcat start'
/usr/local/tomcat9/bin/startup.sh
"
2) 원격 서버 실행
ssh user@ip주소
<< 'ENDSSH'
명령어
ENDSSH
ssh linuxuser@10.10.10.10 << 'ENDSSH'
~
명령어
~
ENDSSH
# Node.js 소스 배포
tar -cf ./source.tar.gz ./source
scp ./source.tar.gz sbsystems@15.164.45.229:/usr/local/myservice
rm -rf ./source.tar.gz
ssh sbsystems@15.164.45.229 << 'ENDSSH'
pm2 kill
sleep 1
cd /usr/local/myservice
rm -rf ./source
tar -xf ./source.tar.gz
rm -rf ./source.tar.gz
sleep 1
pm2 start /usr/local/myservice/source/app.js --name myservice
ENDSSH
#!/bin/bash
# ====================================================
# 로그 파일 압축 및 삭제
# ----------------------------------------------------
# DELETE 에 지정된 일자가 되면 삭제
# COMPRESS 에 지정된 일자가 되면 압축. 압축은 bzip2 을 이용
# ====================================================
DELETE=30
COMPRESS=1
LOGS=(
"/home/paint/logs/"
"/home/paint/logs2/"
"/home/paint/logs3/"
)
for logdir in "${LOGS[@]}"; do
if test -d $logdir
then
sudo find -L $logdir -name "*.bz2" -type f -mtime +${DELETE} | sudo xargs rm -f
sudo find -L $logdir \( \( -name "*.log-*" -or -name "*log*" \) -and ! -name "*.bz2" \) -type f -mtime +${COMPRESS} | sudo xargs bzip2 -f
fi
done
참고 https://mcpaint.tistory.com/247
# 원격 쉘 실행시 아래 에러발생시
sudo: a terminal is required to read the password; either use the S option to read from standard input or configure an askpass helper
<as-is>
sudo find -L $logdir -name "*.bz2" -type f -mtime +${DELETE} | sudo xargs rm -f
<to-be>
패스워드를 앞쪽에 echo 'password' 추가 및 -S 옵션추가.
echo 'password' | sudo -S find -L $logdir -name "*.bz2" -type f -mtime +${DELETE} | sudo xargs rm -f
원격에서 tomcat down이 잘 안된다.
원격서버에 tomcat restart shell 파일을 만들어 jenkins에서 shell파일을 호출하자.
'Infra Structure > Jenkins' 카테고리의 다른 글
[Jenkins] cron을 활용한 젠킨스 Health Check (0) | 2022.03.31 |
---|---|
[Jenkins] Health check (0) | 2022.02.26 |
[Jenkins] 배포 쉘(shell) 및 프로젝트 자동 start (0) | 2022.02.23 |
[Jenkins] 다른 계정으로 쉘 실행 (0) | 2022.02.22 |
MAVEN 캐시 삭제 (0) | 2022.02.21 |