
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 파일을 사용할 수 있습니다.
따라서 수행해야 할 단계는 다음과 같습니다.
- 먼저
/etc/rc.local
파일을 생성하고 실행 가능하게 만듭니다. 이 클라우드는 명령을 통해 수행됩니다chmod a+x /etc/rc.local
. - 이제
/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
- 그런 다음 시스템 부팅 시 서비스를 활성화합니다.
systemctl rc-local 활성화
- 이제 서비스를 시작하고 상태를 확인하세요.
systemctl start rc-local.service
systemctl 상태 rc-local.service
- 이제 스크립트를
/etc/rc.local
파일에 넣고 실행 가능하게 만듭니다. - 서버를 재부팅하고 결과를 확인합니다.