HEX
Server: Apache
System: Linux 244.240.109.208.host.secureserver.net 5.14.0-611.11.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Dec 3 09:47:37 EST 2025 x86_64
User: icsla (1002)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //proc/thread-self/root/lib/fm-agent/countermeasures/plugins/reboot.py
"""
FortiMonitor Reboot Countermeasure

Copyright 2023 Fortinet, Inc. All Rights Reserved.
fm-ops@fortinet.com

"""

from CountermeasurePlugin import CountermeasurePlugin


class RebootCountermeasure(CountermeasurePlugin):
    name = "Reboot Server"
    textkey = "reboot"
    description = "Reboot the server"
    wall_announce_delay = 30
    max_frequency = 1800
    max_runtime = None
    sudo_requirements = ["shutdown"]
    author = "support@panopta.com"

    def run(self):
        """
        Issue a "shutdown -r" command, with an 15 second sleep to give us time report the result
        back to Panopta before the reboot happens.
        """

        return_code, output = self.execute("sleep 15; sudo -n shutdown -r", block=False)
        self.save_text_output("Server reboot initiated")
        self.save_return_code(c.return_code)