# playbook to restart node if uptime is greater than 100 days

**URL:** <https://forum.ansible.com/t/playbook-to-restart-node-if-uptime-is-greater-than-100-days/25219>\
**Category:** Ansible Project\
**Created:** [August 10, 2017, 9:25am UTC](https://forum.ansible.com/t/playbook-to-restart-node-if-uptime-is-greater-than-100-days/25219 "2017-08-10T09:25:28Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sameer\_Modak](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/sameer_modak/32/5180_2.png) [@Sameer\_Modak](https://forum.ansible.com/u/Sameer_Modak)\
**Post date:** [August 10, 2017, 9:25am UTC](https://forum.ansible.com/t/playbook-to-restart-node-if-uptime-is-greater-than-100-days/25219/1 "2017-08-10T09:25:28Z")

</div>

I could rit playbook to get uptime but how we can take action on the output received from ansible.  
how we can grep days from below output and rit restart code for the same.

ok: [NESSTDDB01] =\> {  
“result.stdout”: " 12:03pm up 343 days 16:57, 1 user, load average: 5.15, 5.37, 5.21"

If days are greater than 100 then restart node

how we can achieve this.

---

<div class="post-metadata">

**Author:** ![Kai\_Stian\_Olstad](https://avatars.discourse-cdn.com/v4/letter/k/e19adc/32.png) [@Kai\_Stian\_Olstad](https://forum.ansible.com/u/Kai_Stian_Olstad)\
**Post date:** [August 10, 2017, 5:24pm UTC](https://forum.ansible.com/t/playbook-to-restart-node-if-uptime-is-greater-than-100-days/25219/2 "2017-08-10T17:24:06Z")

</div>

Why not just use ansible fact

- name: Restart server  
&nbsp;&nbsp;&nbsp;shell: sleep 2 && /sbin/reboot  
&nbsp;&nbsp;&nbsp;async: 1  
&nbsp;&nbsp;&nbsp;poll: 0  
&nbsp;&nbsp;&nbsp;when: ansible\_uptime\_seconds \> 8640000

---

<div class="post-metadata">

**Author:** ![Sameer\_Modak](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/sameer_modak/32/5180_2.png) [@Sameer\_Modak](https://forum.ansible.com/u/Sameer_Modak)\
**Post date:** [August 13, 2017, 10:55am UTC](https://forum.ansible.com/t/playbook-to-restart-node-if-uptime-is-greater-than-100-days/25219/3 "2017-08-13T10:55:46Z")

</div>

Thanks kai,

But what if i want to grep days from output and then write condition on it. Is it possible.

Now it will not possible for most of the thing to have direct implementation. Hence can we grep \>100 days from output and then restart.

---

<div class="post-metadata">

**Author:** ![Kai\_Stian\_Olstad](https://avatars.discourse-cdn.com/v4/letter/k/e19adc/32.png) [@Kai\_Stian\_Olstad](https://forum.ansible.com/u/Kai_Stian_Olstad)\
**Post date:** [August 13, 2017, 11:21am UTC](https://forum.ansible.com/t/playbook-to-restart-node-if-uptime-is-greater-than-100-days/25219/4 "2017-08-13T11:21:19Z")

</div>

You could always use  
&nbsp;&nbsp;&nbsp;when: result.stdout | search('[0-9]{3,} days')
