Ubuntu 서버 20.04에 로그인하기 전에 데몬을 자동 시작하는 명령을 넣는 방법

Ubuntu 서버 20.04에 로그인하기 전에 데몬을 자동 시작하는 명령을 넣는 방법

Ubuntu 서버 20.04에는 다음 위치에 두 개의 프로그램이 있습니다.

 /home/kiko/go-btfs/cmd/btfs
 /home/kiko/node5007/cmd/btfs

둘 다 다음 명령으로 실행됩니다. ./btfs daemon서버에 로그인하기 전에 두 디렉터리 모두 자동 시작되도록 이 명령을 만드는 방법은 무엇입니까? 자동 시작 서비스를 생성 sudo nano /etc/systemd/system/btfs_main.service한 후 장치에 다음 설정을 넣으 려고 했습니다 btfs_main.service.

[Unit]
Description=Starting_btfs_daemon

Wants=network.target
After=syslog.target network-online.target

[Service]
Type=simple
ExecStart=/home/kiko/go-btfs/cmd/btfs/./btfs daemon
ExecStart=/home/kiko/node5007/cmd/btfs/./btfs daemon
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target

그런 다음: sudo systemctl daemon-reload, sudo systemctl enable btfs_main.service, sudo systemctl start btfs_main.service, systemctl status btfs_main.service. 마지막 명령을 실행하면 다음과 같은 오류가 발생합니다 Unit btfs_main.service has a bad unit file setting. 두 명령이 자동으로 실행되도록 장치 설정을 어떻게 구성합니까?

답변1

서버 재부팅 후 스크립트를 시작하려면 /etc/rc.local 파일을 사용할 수 있습니다.

따라서 수행해야 할 단계는 다음과 같습니다.

  1. 먼저 /etc/rc.local파일을 생성하고 실행 가능하게 만듭니다. 이 클라우드는 명령을 통해 수행됩니다 chmod a+x /etc/rc.local.
  2. 이제 /etc/systemd/system/rc-local.service파일을 만듭니다. systemd 서비스 파일을 생성한 후 다음 내용을 추가합니다.
[Unit]
 Description=/etc/rc.local Compatibility
 ConditionPathExists=/etc/rc.local

[Service]
 Type=forking
 ExecStart=/etc/rc.local start
 TimeoutSec=0
 StandardOutput=tty
 RemainAfterExit=yes
 SysVStartPriority=99

[Install]
 WantedBy=multi-user.target
  1. 그런 다음 시스템 부팅 시 서비스를 활성화합니다.

systemctl rc-local 활성화

  1. 이제 서비스를 시작하고 상태를 확인하세요.

systemctl start rc-local.service

systemctl 상태 rc-local.service

아래 이미지와 같이 출력되어야 합니다. 여기에 이미지 설명을 입력하세요

  1. 이제 스크립트를 /etc/rc.local파일에 넣고 실행 가능하게 만듭니다.
  2. 서버를 재부팅하고 결과를 확인합니다.

관련 정보