Skip to content

Commit

Permalink
Merge pull request #28 from rebortg/add/config-scripting
Browse files Browse the repository at this point in the history
add commandscripting docu
  • Loading branch information
UnicronNL committed Apr 4, 2019
2 parents 48f45de + fdf2359 commit baa8149
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 1 deletion.
51 changes: 51 additions & 0 deletions docs/commandscripting.rst
Original file line number Diff line number Diff line change
@@ -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
1 change: 1 addition & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion docs/system/task-scheduler.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit baa8149

Please sign in to comment.