diff --git a/Before-After/backup-mnt-test.service b/Before-After/backup-mnt-test.service index e7d449d..f95c96e 100644 --- a/Before-After/backup-mnt-test.service +++ b/Before-After/backup-mnt-test.service @@ -3,6 +3,14 @@ Description=Backup the content of /mnt/test Documentation=https://github.com/nmasse-itix/Systemd-Examples Before=mnt-test.mount RequiresMountsFor=/mnt/backup +ConditionPathIsMountPoint=!/mnt/test + +# Unless DefaultDependencies= is set to false, service units will implicitly +# have dependencies of type Requires= and After= on basic.target as well as +# dependencies of type Conflicts= and Before= on shutdown.target. +# +# So, we need to set DefaultDependencies to "no" to break the ordering cycle. +DefaultDependencies=no [Service] Type=oneshot diff --git a/Before-After/restore-mnt-test.service b/Before-After/restore-mnt-test.service index e7fb8cb..b275350 100644 --- a/Before-After/restore-mnt-test.service +++ b/Before-After/restore-mnt-test.service @@ -4,6 +4,8 @@ Documentation=https://github.com/nmasse-itix/Systemd-Examples After=mnt-test.mount Requires=mnt-test.mount RequiresMountsFor=/mnt/backup +ConditionPathIsMountPoint=!/mnt/test +ConditionPathExists=/mnt/backup/mnt-test.tar [Service] Type=oneshot