시작/종료 시 SystemD 서비스 트리거의 올바른 형식

시작/종료 시 SystemD 서비스 트리거의 올바른 형식

시작 및 종료 시 서비스를 실행할 수 없습니다. 시작한 후 쿼리 systemctl status scrThunderbirdProfileSync하고 가져옵니다.

systemctl status scrThunderbirdProfileSync
● scrThunderbirdProfileSync.service - Script to sync Thunderbird Profile to msc004
   Loaded: loaded (/etc/systemd/system/scrThunderbirdProfileSync.service; enabled)
   Active: inactive (dead)

시도해 보면 아주 효과가 좋습니다 systemctl start scrThunderbirdProfileSync. journalctl | grep scrThunderbirdProfileSync서비스를 수동으로 시작하지 않으면 결과가 생성되지 않습니다.

내가 어디서 잘못됐나요? 명백한 오류가 있습니까? 시작용 서비스와 종료용 서비스, 두 가지 별도의 서비스를 살펴봐야 합니까? KDE의 자동 시작 등 대신 SystemD를 선택했다는 점에 유의하십시오. 로그아웃할 때 kde가 가끔 멈춰서 수동으로 종료해야 하기 때문입니다 service kdm.

문맥:

두 데스크톱(필요할 때만 열림)과 미니 데스크톱(항상 열려 있음) 간에 Thunderbird 데이터를 동기화하려고 합니다.

서버에서 최신 데이터를 다운로드하고 아직 업로드되지 않은 최신 파일을 업로드하기 위해 시작 시 트리거되어야 하는 유사한 스크립트가 두 데스크톱 모두에 있으며 데스크톱 종료 시 반복됩니다.

방법:

스크립트:

echo "1: Starting Sync > upload..."
rsync -avzhu --progress /home/username/.thunderbird -e ssh root@server:/mnt/local/data/Personal/Thunderbird/
echo "2: Starting Sync > download..."
rsync -avzhu --progress -e ssh root@server:/mnt/local/data/Personal/Thunderbird/.thunderbird /home/username/

서비스 프로필:

[Unit]
Description=Script to sync Thunderbird Profile to server
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target kexec.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/bin/scrThunderbirdProfileSync
ExecStop=/usr/local/bin/scrThunderbirdProfileSync

[Install]
WantedBy=halt.target reboot.target shutdown.target kexec.target

답변1

로그를 확인하세요. 네트워크가 연결될 때까지 기다려야 할 수도 있습니다.

이후 = network.target

로그를 확인하는 것을 잊지 마세요

sudo Journalctl -u scrThunderbirdProfileSync

관련 정보