<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - systemd 218 timer w/ Persistent=true doesn't fire the first time"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=88725">88725</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>systemd 218 timer w/ Persistent=true doesn't fire the first time
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>systemd
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>x86-64 (AMD64)
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>general
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>systemd-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>me@mooluv.com
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>systemd-bugs@lists.freedesktop.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>A persistent timer that has not previously fired will not fire on startup, this
is valid per a pedantic reading of the man page.  For the needs of an
individual with a laptop it would be nice to not have to leave the laptop on
overnight just to get a last-run timestamp so that Persistent works.  I haven't
found a method to fake the timer having fired unfortunately.


Details showing how persistent=true behaves:

systemd 218
+PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP
+GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID -ELFUTILS +KMOD +IDN

NEXT                         LEFT                LAST                        
PASSED       UNIT                           ACTIVATES
Fri 2015-01-23 00:00:00 EST  4h 36min left       n/a                         
n/a          zfs-auto-snapshot-daily.timer  zfs-auto-snapshot-daily.service

relevant unit parts:
[Timer]
OnCalendar=daily
Persistent=true


The above timer has been enabled on my laptop for the last 3 days.  My laptop
is not on as midnight and so the timer doesn't fire.  

Another timer:

Thu 2015-01-22 20:00:00 EST  33min left          Thu 2015-01-22 19:00:15 EST 
26min ago    zfs-auto-snapshot-hourly.timer zfs-auto-snapshot-hourly.service

Same basic idea, only hourly.  This DOES fire after my laptop comes out of
suspend as shown here, snapshot names are in UTC, I put the EST time in last
column
rpool/home@znap_2015-01-22-0300_hourly   15.7M      -  2.40G  -  - 10:00pm EST
rpool/home@znap_2015-01-22-1413_hourly   16.2M      -  2.40G  -  - 09:14am EST
rpool/home@znap_2015-01-22-1500_hourly   37.5M      -  2.40G  -  - 10:00am EST
rpool/home@znap_2015-01-22-1600_hourly   37.7M      -  2.40G  -  - 11:00am EST</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>