From 5e000b3ab915e70db8fe62f442a7c99c73d8e558 Mon Sep 17 00:00:00 2001 From: rebortg Date: Fri, 29 Mar 2019 21:57:55 +0100 Subject: add Task scheduler --- docs/system/task-scheduler.rst | 59 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 docs/system/task-scheduler.rst (limited to 'docs/system/task-scheduler.rst') diff --git a/docs/system/task-scheduler.rst b/docs/system/task-scheduler.rst new file mode 100644 index 00000000..032a2bea --- /dev/null +++ b/docs/system/task-scheduler.rst @@ -0,0 +1,59 @@ +.. _task-scheduler: + + +Task scheduler +-------------- + +Task scheduler — allows scheduled task execution. Note that scripts excecuted this way are executed as root user - this may be dangerous. + +.. code-block:: sh + + system + task-scheduler + task + cron-spec + executable + arguments + path + interval + [mhd] + +Interval +******** + +You are able to set the time as an time interval. + +.. code-block:: sh + + set system task-scheduler task interval + +Sets the task to execute every N minutes, hours, or days. Suffixes: + + * m — minutes + * h — hours + * d — days + +If suffix is omitted, minutes are implied. + +Or set the execution time in common cron time. + +.. code-block:: sh + + set system task-scheduler task TEST crontab-spec "* * * 1 *" + +Example +******* + +.. code-block:: sh + + system + task-scheduler + task mytask + interval 2h + executable + path /config/scripts/mytask + arguments "arg1 arg2 arg3" + task anothertask + cron-spec "* * * 1 *" + executable + path /config/scripts/anothertask \ No newline at end of file -- cgit v1.2.3 From fdf235905c0fb13591078e9b0b065dacfdd801fc Mon Sep 17 00:00:00 2001 From: rebortg Date: Wed, 3 Apr 2019 21:58:58 +0200 Subject: add commandscripting docu --- docs/commandscripting.rst | 51 ++++++++++++++++++++++++++++++++++++++++++ docs/index.rst | 1 + docs/system/task-scheduler.rst | 3 ++- 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 docs/commandscripting.rst (limited to 'docs/system/task-scheduler.rst') diff --git a/docs/commandscripting.rst b/docs/commandscripting.rst new file mode 100644 index 00000000..918a51a6 --- /dev/null +++ b/docs/commandscripting.rst @@ -0,0 +1,51 @@ +.. _commandscripting: + + +Command scripting +================= + +VyOS supports executing configuration and operational commands non-interactively from shell scripts. + +To include VyOS-specific functions and aliases you need to ``source /opt/vyatta/etc/functions/script-template`` files at the top of your script. + +.. code-block:: sh + + #!/bin/vbash + source /opt/vyatta/etc/functions/script-template + + exit + +Run configuration commands +-------------------------- + +Configuration commands are executed just like from a normal config session. + +For example, if you want to disable a BGP peer on VRRP transition to backup: + +.. code-block:: sh + + #!/bin/vbash + source /opt/vyatta/etc/functions/script-template + + configure + + set protocols bgp 65536 neighbor 192.168.2.1 shutdown + + commit + + exit + + +Run operational commands +------------------------ + +Unlike a normal configuration sessions, all operational commands must be prepended with ``run``, even if you haven't created a session with configure. + +.. code-block:: sh + + #!/bin/vbash + source /opt/vyatta/etc/functions/script-template + + run show interfaces + + exit \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index 19b095ae..fb15e991 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -30,6 +30,7 @@ as a router and firewall platform for cloud deployments. high-availability.rst clustering.rst image-mgmt.rst + commandscripting.rst troubleshooting.rst examples.rst commandtree/index.rst diff --git a/docs/system/task-scheduler.rst b/docs/system/task-scheduler.rst index 032a2bea..73057afd 100644 --- a/docs/system/task-scheduler.rst +++ b/docs/system/task-scheduler.rst @@ -4,7 +4,8 @@ Task scheduler -------------- -Task scheduler — allows scheduled task execution. Note that scripts excecuted this way are executed as root user - this may be dangerous. +| Task scheduler — allows scheduled task execution. Note that scripts excecuted this way are executed as root user - this may be dangerous. +| Together with :ref:`commandscripting` this can be used for automating configuration. .. code-block:: sh -- cgit v1.2.3