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 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