起動/終了時に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 scrThunderbirdProfileSyncjournalctl | grep scrThunderbirdProfileSyncサービスを手動で開始しないと、結果は生成されません。

私はどこで間違っていますか?明らかなエラーがありますか?スタートアップサービスとシャットダウンサービス、2つの別々のサービスを調べる必要がありますか? KDEの自動起動などの代わりにSystemDを選択したことに注意してください。ログアウト時に kde が時々停止して手動で終了する必要があるためですservice kdm

コンテキスト:

2つのデスクトップ(必要なときにのみ開く)とミニデスクトップ(常に開いている)間で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

おすすめ記事