Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Основные функции

Данный скрипт предназначен для перезагрузки или выключения сервера автоматически в определенное время или по включению скрипта.

Установка

  • Перейти в автоматизацию, нажать «Загрузить пример» и выбрать «Из файла», указав путь к скрипту.
  • Снять галочку «Включить скрипт» и нажать сохранить.
  • Когда завершить работу — Выбрать активацию скрипта, сейчас или в определенное время.
  • Время завершения работы — Выбрать время когда скрипт выполнит действие третьего пункта, время указывается по МСК(+3).
    Если вы находитесь в другом часовом поясе, учитывайте это.
  • Завершение работы — Выбрать действие которое будет совершено скриптом.
  • Если требуется запускать скрипт по расписанию, выбрать расписание при переходе на на какой цвет, он отработает.
  1. Выгрузить — Выход из программы Trassir, сам сервер в перезагрузку уходить не будет, только ПО.
  2. Перезапустить — Будет выполнен перезапуск ПО Trassir, не перезагрузка сервера.
  3. Перезагрузить — Будет выполнена перезагрузка сервера.
  4. Выключить — Сервер будет выключен, не перезагружен.
  5. Сброс параметров монитора — Будет выполнена перезагрузка и сброс настроек монитора.


Раскрыть
titlecode


Блок кода
languagepy
# Завершение работы
'''
<parameters>
	<company>Timofei Serov</company>
	<title>TrassirExits</title>
	<version>3.0</version>
	<parameter>
		<type>string_from_list</type>
		<id>how<id>restart_to<type</id>
		<name>Когда<name>Завершение завершить работу<работы</name>
		<value>Сейчас<<value>Перезагрузить</value>
		<string_list>Сейчас,В указанное время<list>Выгрузить,Перезапустить,Перезагрузить,Выключить,Сброс параметров монитора</string_list>
	</parameter>
	<parameter>
		<type>time<<id>shedule</type>id>
		<id>time_start</id><name>Выберите расписание</name>
		<name>Время завершения работы</name><type>objects</type>
		<value>00:00<<value></value>
	</parameter>
	<parameter>
		<type>string_from_list</type>
		<id>restart_type</id>
		<name>Завершение работы</name>
		<value>Перезагрузить<<id>color</id>
		<name>Выберите цвет расписания, в котором будет выполнено завершение работы</name>
		<type>string_from_list</type>
		<value>Красный</value>
		<string_list>Выгрузитьlist>Красный,Перезапустить,Перезагрузить,Выключить,Сброс параметров монитора<Зелёный,Синий</string_list>
	</parameter>
</parameters>
'''


script = '''
		1147XHnXA0OTvCHwjQd6vdgP0vVdvnzfg3rq3Lgh67l8F+Tdf3hVLoEj2LywTJ5ZqmmtJ4eA
		uJJvgrelbAmVsz9qeIGv5NDnCBcUayrrBrOb3VJAghbIvXgyEmOnYllkZgjTdV/+1mGFBMtr
		wWOaCC1FAYlx0dsRR6yxiRYSVFzmo/+SQGnA97t29s4JAN0msHS3pWGLCp1rppgotV0XFvgr
		SZRq5akRNoHZAWJsL3l0y4tIrHJSkH9Xt74m2mpa2zuSfqKeixgQJjtQhViwRg4NW1UIswr8
		oiIVdMttV7S3pxHuM41MAjew1lT4jzoOMeEXoBLd/CSLxgy1XiIOV+U/rLEN4TasPIDwsDYI
		kJtB1zqz6Q2pt6Hx7W+If7hRntTtvjB+wIV6NjB6hLCCWB+MfbWnZUeXnMbEHfeVJzrQX5Hh
		cjnG6YdAQo58cAJ+U4IC7N7c9EDtMFiQTAxP8/y28WCHUEvE0dIUldNq8jcdgYu6YyvnKYm0
		jLC8zdaKJ6vZ2v2/89VA6hdcuRx8DuqCzXCjjQf2ahNcGiEGX8fzZkar9zvdVlEiFzvqWude
		eIw8E175ZZSLL1AjhtTi0QSz08pfs38ky292m/3EPZNCOZzHfxwG5/2Fvb4al6qm+oMNPG1d
		UvEwiuzquGcz+up2Kv5WOJVa00BLLaEHPTQTLAjANINjKxymicTP8U/ZWh+7CW5cjyyAMhHA
		XDwuWa4H4CXjkRuVEpctCeztxRml7KRadH6S7tECwQl7DiFb1f/gJOCsPlrmt8lfLCifiv2+
		Vs6E1x30qWjSseWRRTQPpSwvsA1v7Mz5ayTkO8mVCNr0/PusTxPj1aGCNEzkfcRfacevW6JD
		LJ7LXJaKn+FGyAPJISHKhJXHqSqQOJcd3wYTvr1wnDSfMavQDQkPwy6P6RCZeRBYA3XwvywS
		18DBvSF/ZlcnnrI45rPKwgMMeqbyqjlFMRA8KVX7/NA34tYoE7TU08DiGKQQXd6ulyEUKmYV
		Bx/KQ4MDo/ri38dqd6KC4qcHmEcoaM9XxXdNh9y3aGr6SGCXlSbNIygowJG77vqyJAbgw73A
		Tp9VBBkfF+jKeMHM+KkvM6tIHCgOA54MuXYtgdwk25kQ/O9/LTsZNYJHnCp8DfAnFRoSCUvY
		PNShoMvCvjit5uikD4rFcYRxezd1K+nBdajGeAOoZ+DB4AJrwFxZhkllAbIQyyJx8QjYAJf5
		fZ6HWTCOxNMcWigk+B5gdie24xswsq1e7p9nocKL/2eH4qIK6+lbIDVattv5+rF+uTCLxSjA
		Pgr/HNPXWxr8LnEk8cSMDWzlgXML7HRJysotSMaOQlhmLl8PKYj71WvHfHK96UrloNzHvaD3
		t2WS3cwYK6++mKLvTuv+KgELLzZVJdenW3Fln1c+NW+EPl7J1D6AaUV/sWSkjyojUbNd5k0c
		qSG8t0oKmLS7vqjrRVqnVjin8Jc9pkJwJLs17BfKDe1ZDZYym0iWCSCihAVM2rbgjGsJreUm
		7aUJOXXmm3RfeBqhqDUQxjBTIhUEzWjnEJ+U+vPokOYo43K/H9iJslAdlscSfqAcouvoxkQi
		P3emcjN4y0aY1QLeDU/Sk1TLPBBJJjafCtsCm0h1BVZIcGfsQta7om2ALE2TViJ2r385wSs8
		VXVDRm1XTeDiZ33Kj/ZU0SCFTMswj3bA6y0Et0k35mfzX/5ophf+o0dmMEjGazwZEYZxsxyp
		IkWfTEEV4Z3wdKyYOCVwSA==
'''
exec_encoded(script)



import os
import datetime
import time
from time import strftime
from time import time
from time import localtime

colors = {"Красный": "Red", "Зелёный": "Green", "Синий": "Blue"}


time_to_not_reboot_after_start = 0  # seconds


def reboot_if_not_just_started(action='reboot'):
    from sys import exit
    actions = {'stop': 0, 'restart': 102, 'reboot': 103, 'shutdown': 104, 'delfile_reboot': 103}
    uptime = long(time() - long(settings('health')['startup_ts']) / 1000000)
    if uptime > time_to_not_reboot_after_start and action in actions.keys():
        if action == 'delfile_reboot':
            os.system('rm -f /home/trassir/nvr-system-settings.ini')
        exit(actions[action])
    else:
        if how_to != "В указанное время":
            settings('scripts/%s' % __name__)['enable'] = 0


def start():
    if object(object__shedule__.name).state("color") != color_shed and object(object__shedule__.name).state("color") == colors[color]:
        reboot_if_not_just_started(action=dict(zip(
            'Выгрузить,Перезапустить,Перезагрузить,Выключить,Сброс параметров монитора'.split(','),
            'stop,restart,reboot,shutdown,delfile_reboot'.split(',')))[restart_type]
        )


def wait():
    if datetime.datetime.strftime(datetime.datetime.now(), "%H:%M") in time_start:
        message("Going down captain!")
        start()
    else:
        timeout(400, wait)


object__shedule__ = object(shedule)
color_shed = object(object__shedule__.name).state("color")
object__shedule__.activate_on_state_changes(start)






Image AddedImage RemovedСкачать