서버에서 무엇이 실행되고 있는지 확인하는 방법은 무엇입니까?

서버에서 무엇이 실행되고 있는지 확인하는 방법은 무엇입니까?
  1. 전용 서버(예: apache2, mysql-server, backup-server 등) 내에서 어떤 서버가 실행되고 있는지 알아내는 특정 명령이 있습니까?

  2. 전용 서버를 다시 시작하면 모두 자동으로 시작되나요?

  3. 모든 애플리케이션 서버가 실행 중인 전용 서버를 다시 시작하는 안전한 방법은 무엇입니까?

참고: 저는 전용 Debian 서버를 사용하고 있습니다.

답변1

나는 응용 프로그램 서버가 [Apache, Mysql 사용] 포트를 사용하고 있다고 가정합니다. 그렇다면 이것을 사용하여 netstat -lepunt서버에서 실행 중인 서비스를 찾을 수 있습니다.

부팅 시 서비스가 시작되는지 알고 싶다면 를 확인하세요 /etc/init.d/.

대부분의 경우 Apache 및 MySQL 서버와 같은 서비스는 패키지 관리자를 사용하여 설치된 경우 부팅 시 시작됩니다. 그렇지 않은 경우 init 스크립트를 생성하여 부팅 시 시작할 수 있습니다.

답변2

ps aux서버에서 실행 중인 모든 프로세스도 나열됩니다. 거기에서 관련 서비스를 찾을 수 있습니다.

답변3

htop실행 중인 프로세스와 사용 중인 리소스에 대한 좋은 개요입니다.

답변4

서버가 수신 대기 중인 TCP/UDP 포트를 확인하려면 다음을 시도해 보세요. 서버의 목적에 대한 개요를 제공하는 것이 마음에 듭니다.

netstat -lepunt | perl -nle 's!^.*\d+/!! && print if ($_);' | sort -u

또는

ss -tualp | perl -nle 's/^.*users:.."(.*?)".*/$1/ && print;' | sort -u

그런 다음 내용을 확인하여 /etc/crontab머신이 수행 중인 다른 작업(예: 백업)을 확인할 수도 있습니다.

Apache를 실행하는 경우 다음과 같은 것이 유용할 수 있습니다.

grep -h -i ServerName /etc/apache2/{sites,conf}-enabled/* | grep -v '^\s*#'

관련 정보