<p dir="ltr"><br>
Am 12.02.2014 01:31 schrieb "Kai Krakow" <<a href="mailto:hurikhan77@gmail.com">hurikhan77@gmail.com</a>>:<br>
><br>
> Hey there!<br>
><br>
Hey</p>
<p dir="ltr">> I've got a daily backup job scheduled using a timer unit and a oneshot<br>
> service file. This backup takes around 2-4 hours. It's using rsync and syncs<br>
> from btrfs HDD to a snapshotted btrfs on USB with inplace deltas. I'm<br>
> mentioning this because it may matter.<br>
><br>
> I've also set my system to auto-sleep after 4 hours of idle time. This<br>
> means, in KDE I've set the option to put the system to sleep after that time<br>
> of inactivity.<br>
><br>
> This usually works fine. But sometimes during backup, the system cannot<br>
> sleep. I see it still powered fully on the next morning. In dmesg, a lot of<br>
> btrfs and blockdev related tracebacks accumulated with notes of being unable<br>
> to sleep because a processed has refused to stop. I don't know if this is<br>
> btrfs-related or not - but actually I don't think it's wise to go to sleep<br>
> while the backup process is still running either.<br>
><br>
> There may be a bug here, because almost every time when that happened it<br>
> looks like systemd has suspended my network connection but didn't bring it<br>
> back online after the system refused to go to sleep. I need to restart<br>
> NetworkManager then or reboot (I prefer reboot to alleviate any other side<br>
> effects that may have had).<br>
><br>
> But what actually results from this is the following question: How do I<br>
> prevent systemd from trying to go to sleep while the backup job is running?<br>
> I'd like it to either (a) do not go to sleep at all (do not even try) or (b)<br>
> defer the sleeping signal until the backup job finished, with (b) preferred<br>
> plus some grace time.<br>
><br>
> I don't know if something like "Conflicts=sleep.target" would do the job, I<br>
> even do not know if that would be a good idea at all.</p>
<p dir="ltr">It's late here so excuse me if I'm missing something. But wouldn't a simple Before=sleep.target suffice to implement b)?<br>
If your backup job is still running it blocks sleep.target's start until it finishes.<br>
Though for the grace period some ugly hack such as "ExecStartPost=/usr/bin/sleep <n>" would be required.</p>
<p dir="ltr">> Ah, and then another one, more or less unrelated: Lennart one time told me<br>
> that it's on the feature plan for systemd to wake the system up for selected<br>
> timer units and put it back to sleep afterwards. It would be a nice-to-have.<br>
> Still on the feature list? Maybe any news on that? I'd like to test it.<br>
><br>
> Another one, partially unrelated: I've set up the backup mount point with<br>
> automount in systemd (via fstab). Is it possible to automatically undo that<br>
> automount upon finishing the backup job? If I explicitly call umount, the<br>
> job could wait forever if I accidently left a shell open in that directory.<br>
> This more or less concludes to the question: Could automount units also<br>
> automatically unmount after some idle time (after nothing any longer<br>
> accessed the volume)?<br>
><br>
> --<br>
> Replies to list only preferred<br>
</p>