시스템 시작/재시작 시 네트워크 연결을 수신하자마자 rclone 서비스가 드라이브를 마운트하도록 하려고 합니다.
지금까지 터미널을 통해 모든 것을 올바르게 설치했습니다. 기본적으로 실행하기 위해 간단한 .sh 파일을 작성했습니다.
#!/bin/sh
! mountpoint -q /home/{user}/{location}/{location} || umount /home/{user}/{location}/{location}
rclone mount {nameofservice}: /home/{user}/{location}/{location} --config /home/{user}/.config/rclone/rclone.conf
터미널에서 실행하면 예상대로 작동합니다.
systemd를 사용하여 네트워크 연결을 구현한 후 온라인 튜토리얼을 따라 작동하도록 하고 755 +x 권한으로 다음 파일을 만들었습니다./etc/systemd/system/{nameof.service}
[Unit]
Description=Starts {nameof.service} rclone service on startup
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User={user}
Group={group}
ExecStart=/home/{user}/{nameofsh}.sh
TimeoutStartSec=5
RemainAfterExit=yes
[Install]
WantedBy=network-online.target
특정 사용자로 실행하려면 필요합니다. 이 파일을 만든 후 나는 또한 다음을 수행했습니다.
systemctl daemon-reload
systemctl enable {nameof.service}
이 튜토리얼에서는 활성화 명령이 심볼릭 링크 생성에 대한 메시지를 반환할 것으로 예상했지만 이해하지 못했습니다. 새 줄로 크기를 조정할 뿐이지만 그게 중요하다고 생각하지 않습니다.
어쨌든 실행하면 예상한 결과가 나오지만 systemctl restart {nameof.service}
시작이나 재부팅에서는 결과가 나오지 않습니다.
이 시점에서는 내가 어떻게 잘못되었는지 잘 모르겠으며 도움을 주시면 감사하겠습니다.
답변1
설정 WantedBy=default.target
하고 나머지는 변경하지 않고 그대로 두면 서비스가 다음과 같이 작동합니다.기본 대상, 이는 기본 시스템 부팅 대상을 나타냅니다. 이렇게 하면 네트워크를 사용할 수 있을 때 부팅 프로세스 중에 스크립트가 실행됩니다.
또는 단순히 심볼릭 링크가 누락된 경우 다음을 사용하여 수동으로 추가할 수 있습니다.ln -s /etc/systemd/system/{nameof.service} /etc/systemd/system/multi-user.target.wants/{nameof.service}