네트워크 명령 (ip·ss·ping·scp)
6. 연습 문제
문제 1. 내 IP 와 게이트웨이
서버의 IPv4 주소와 기본 게이트웨이만 출력하는 명령을 쓰세요.
hostname -I
ip route | awk '/default/{print $3}'ip route 의 default via 다음 열이 게이트웨이입니다.
문제 2. 포트 확인 두 가지
db-prod 의 1521 포트가 열렸는지 확인하는 명령을 nc 와 bash 내장으로 각각 쓰세요.
nc -zv db-prod 1521
timeout 3 bash -c '</dev/tcp/db-prod/1521' && echo open || echo closednc 가 없는 서버에서 둘째 방법이 유용합니다.
문제 3. 폴더 동기화
로컬 build/ 내용을 app1 의 /opt/myapp/current/ 로 동기화하되 먼저 무엇이 바뀔지 보고 실행하는 명령 두 줄을 쓰세요.
rsync -avzn build/ app1:/opt/myapp/current/
rsync -avz build/ app1:/opt/myapp/current/-n 미리 보기 후 같은 명령에서 -n 만 뺍니다.
문제 4. ssh config
10.0.0.20 서버에 deploy 사용자, 2222 포트, ~/.ssh/deploy_key 로 접속하는 별칭 app2 설정을 쓰세요.
Host app2
HostName 10.0.0.20
User deploy
Port 2222
IdentityFile ~/.ssh/deploy_key~/.ssh/config 에 넣으면 ssh app2 와 scp file app2:/tmp/ 가 됩니다.
문제 5. 원격 로그 검색
app1 의 /var/log/myapp/app.log 에서 오늘 ERROR 수를 접속 없이 한 줄로 세는 명령을 쓰세요.
ssh app1 "grep -c ERROR /var/log/myapp/app.log"원격 명령 실행 형태입니다. 여러 서버면 for 로 감쌉니다.