리눅스 서버 간 통신 상태를 확인할 수 있는 명령어

다음은 리눅스 서버 간 통신 상태를 확인하기 위한 명령어와 사용 예시, 그리고 예상되는 결과 값을 소개합니다.

1. ping

- 사용법: ping <IP 주소 또는 도메인 이름>
- 설명: 서버와의 연결 상태를 확인하기 위해 사용됩니다. 서버로부 응답을 받으면 연결이 정상적으로 이루어진 것입니다.
- 예시: ping 8.8.8.8

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq= ttl=56 time=12.8 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=56 time=12.9 ms

2. traceroute 또는 tracepath

- 사용법: traceroute <IP 주소 또는 도메인 이름>
- 설명: 서버까지 경로와 그 사이에 위치한 노드들을 확인하는데 사용됩니다.
- 예시: traceroute 8.8.8.8

traceroute to 8.8.88 (8.8.8.8), 30 hops max, 60 byte packets
1  gateway (192.168.1.1)  0.619 ms  0.619 ms  0.613 ms
2  10.27.0.1 (10.27.0.1)  10.781 ms  11.989 ms  12.172
...
9  dns.google (8.8.8.8)  11.621 ms  11.583 ms  11.559 ms

3. netstat

- 사용법: netstat -tuln
- 설명: 네트워크 연결, 라우팅 테이블, 인터페이스 상태를 확인하며 통신이 정상적인지 확인할 수 있습니다.
- 예시: netstat -tuln

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp6       0      0 :::80                   :::*                    LISTEN
udp        0      0 0.0.0.0:68              0.0.0.0:*

4. nc (netcat)

- 사용법: nc -l <포트 번호>nc <IP 주소> <포트 번호>
- 설명: 두 대의 서버 사이에서 메시지를 주고받아 서버 간 통신이 정상적으로 이루어지는지 확인할 수 있습니다.
- 예시: nc -l 12345nc 192.168.1.1 12345

서버1:
nc -l 12345

서버2:
nc 192.168.1.1 12345
Hello, Server!

서버1:
Hello, Client!

5. curl

- 사용법: curl <URL 주소>
- 설명: 웹 서버와 통신하며 웹 리소스를 검색하고 다운로드하는 데 사용됩니다. 웹 페이지나 API에 요청을 보내고 응답을 받아볼 수 있습니다.
- 예시: curl http://example.com

<!doctype html>
<html>
<head>
    <title>Example Domain</title>
</head>
<body>
    <p>This domain is used for illustrative examples in documents. You may use this domain in literature without prior coordination or asking for permission.</p>
</body>
</html>

'개발 > 리눅스' 카테고리의 다른 글

linux crontab  (0) 2023.03.16
linux flock 중복방지  (0) 2023.03.15

1. 들어가며

 파일 권한 관리는 운영체제에서 사용자의 접근 권한을 설정하는 데 사용되며, linux/unix 파일 작업에서 자주 사용되는 개념입니다. 이 글에서는 파일 권한 관리의 개념과 'chmod' 명령어를 사용하는 방법을 이해하기 쉽게 설명겠습니다.

2. 파일 권한의 종류

리눅스에서 파일 범주는 다음과 같이 구성됩니다.

  • 소유자(User) 권한: 파일의 소유자에게 적용되는 권한
  • 그룹(Group) 권한: 파일 소유자와 동일한 그룹에 속한 사용자에게 적용되는 권한
  • 기타(Other) 사용자 권한: 그 외 사용자에게 적용되는 권한

각 권한에는 다음의 세 가지 권한 유형이 적용됩니다.

  • 읽기 권한(Read): 파일의 내용을 읽거나 복사할 수 있는 권한
  • 쓰기 권한(Write): 파일의 내용을 수정하거나 삭제할 수 있는 권한
  • 실행 권한(Execute): 파일을 실행할 수 있는 권한

3. 사용법: chmod

'chmod'는 파일 권한을 변경하는 명령어로, 실제 예제를 통해 사용법을 살펴보겠습니다.

1) 사용자에게 읽기, 쓰기, 실행 권한 부여

# 명령어 실행전
-rw-rw-r-- 1 user group 0 date example.txt

# 명령어 실행
$
chmod u+rwx example.txt

# 명령어 실행 후
-rwxr--r-- 1 user group 0 date example.txt

2) 그룹에게 읽기와 쓰기 권한 부여

# 명령어 실행전
-rwxr--r-- 1 user group 0 date example.txt

# 명령어 실행
$ chmod g+rw example.txt

# 명령어 실행 후
-rwxrw-r-- 1 user group 0 date example.txt

3) 기타에게 읽기 권한 부여

# 명령어 실행전
-rwxrw---- 1 user group 0 date example.txt

# 명령어 실행
$ chmod o+r example.txt

# 명령어 실행 후
-rwxrw-r-- 1 user group 0 date example.txt

4) 문자 대신 숫자 코드를 사용하여 범주별 권한을 동시에 설정하는 방법도 있습니다.
   ㄱ. 사용자: 읽기(4) + 쓰기(2) + 실행(1) = 7
   ㄴ. 그룹: 읽기(4) + 쓰기(2) = 6
   ㄷ. 기타: 읽기(4)만 = 4
   ㄹ. 적용 예시:

# 명령어 실행전
-rw-rw-r-- 1 user group 0 date example.txt

# 명령어 실행
$ chmod 764 example.txt

# 명령어 실행 후
-rwxrw-r-- 1 user group 0 date example.txt

4. 마무리

이렇게 쉽게 'chmod'를 사용하여 파일 권한을 변경할 수 있습니다. 다만 권한 설정에 주의 하여 민감한 정보의 유출이나 서비스 오류를 예방해야 합니다.

crontab 이란 cron table의 줄인 말이다.

cron은 linux 에서 batch 작업이라고 생각하면 편하다.(주기적으로 실행되는 명령어를 정해진 시간에 자동으로 실행해주는 도구)

crontab은 사용자의 개별 crontab 즉 cron 작업들을 관리하는 명령어이다.

1. linux 재부팅시 cron을 자동 수행하고자 하는 경우

# 재부팅시 자동 수행 or 미수행
 sudo systemctl [enable/disable] crond
# cron systemctl 등록 확인
 sudo systemctl list-unit-files | grep crond

2. cron 실행 명령어

# crond 실행/중지/재시작/상태
 service crond [start/stop/restart/status]

3. crontab 명령어

# crontab 편집
 crontab -e

# crontab 리스트
  crontab -l
# crontab 리스트 전체 삭제
  crontab -r

4. crontab 수행주기

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

[수행주기별 특수 기호]
1. * : 해당 기호가 입력되면 해당 필드의 모든 값에서  cron 실행 
2. - : 숫자 구간을 지정 가능

3. , : 특정값을 여러개 지정 가능. 구각이나 주기로 지정이 안되는 불특정한 값
4. / : 값을 특정 주기로 나눌때 사용
[예시 ]
# 매주 토요일 작업 7시 10분 작업

 10 07 * * 6  /home/test/test.sh 

# 매년 1월 1일 7시 10분 작업
  10 07 1 1 * /home/test/test.sh 
# 매일 7시 9시 12시 0분에 작업
00 7,9,12 * * * /home/test/test.sh 
# 5분마다 수행
 */5 * * * * /home/test/test.sh 
# 매달 1일부터 5일까지 7시에 작업
 0 7 1-5 * * /home/test/test.sh 

cron 작업에 대해서 중복실행을 막기 위해서는 flock이란 명령어를 써야하며 해당은 flock에 관한 글을 참고하면 된다.

'개발 > 리눅스' 카테고리의 다른 글

리눅스 서버 간 통신 확인하기  (0) 2023.07.24
linux flock 중복방지  (0) 2023.03.15

+ Recent posts