systemd start /etc/systemd/system/custom.service를 시작할 수 없습니다.

systemd start /etc/systemd/system/custom.service를 시작할 수 없습니다.

나는 openSUSE Leap 42.3을 가지고 있으며 백업을 자동화하기 위해 udev를 통해 systemd 서비스를 실행하려고 합니다. 저는 CLI에서 잘 작동하는 백업 스크립트를 시작하는 간단한 시스템 서비스를 사용합니다. udev를 사용하면 systemd 서비스가 시작되지 않습니다(오류 코드 5). 문제는 서비스가 아니라 시스템에서 발생한 것으로 밝혀졌습니다!

특히 CLI에서 절대 경로 없이 서비스를 시작하면 모든 것이 정상입니다.

# systemctl start hdd-backup.service
# systemctl status hdd-backup.service 
● hdd-backup.service - Backup to external HDD
   Loaded: loaded (/etc/systemd/system/hdd-backup.service; static; vendor preset: disabled)
   Active: active (running) since Tue 2018-04-10 21:09:34 EEST; 8s ago
 Main PID: 14455 (backup.sh)
    Tasks: 3 (limit: 512)
   CGroup: /system.slice/hdd-backup.service
           ├─14455 /bin/bash /usr/local/bin/backup.sh
           ├─14460 /sbin/mount.ntfs /dev/sdc1 /mnt/backup -o rw
           └─14463 sleep 3000

그러나 서비스를 시작하면순수한paths는 .mount(!!!) 서비스를 시작하려고 시도하기 때문에 실패합니다.

systemctl start /etc/systemd/system/hdd-backup.service
Failed to start etc-systemd-system-hdd\x2dbackup.service.mount: Unit etc-systemd-system-hdd\x2dbackup.service.mount failed to load: No such file or directory.

어떤 아이디어?

답변1

그것은 정상입니다. 시스템화됨지원하지 않습니다임의의 위치에서 유닛을 시작합니다. 표준 검색 디렉토리 중 하나에 있어야 합니다. 장치가 이미 에 있으면 /etc/systemd/system경로를 지정할 필요가 없습니다.


systemctl에는 다양한 장치 유형을 시작하기 위한 다양한 단축키가 있습니다. 디렉터리 경로는 .mount 장치로 변환됩니다. 예 systemctl start /mnt/data를 들어 로 번역됩니다 systemctl start mnt-data.mount.

관련 정보