diff options
author | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2009-02-05 12:47:27 -0800 |
---|---|---|
committer | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2009-02-05 12:47:27 -0800 |
commit | a1fc34fc38d4d4d90a3100838da0a1adc5dbba61 (patch) | |
tree | 83a6e091f8d1bfbbd06d076ba29e3c89f34f435e | |
parent | 1c653bf9f0c9a0ed4aaa7e07475858e3d7298d20 (diff) | |
parent | 6bfb468d769e515f23cebecf259490524e1524c5 (diff) | |
download | vyatta-cfg-a1fc34fc38d4d4d90a3100838da0a1adc5dbba61.tar.gz vyatta-cfg-a1fc34fc38d4d4d90a3100838da0a1adc5dbba61.zip |
Merge branch 'jenner' of 192.168.100.1:git/vyatta-cfg into jenner
-rwxr-xr-x | scripts/vyatta-cfg-reload | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/scripts/vyatta-cfg-reload b/scripts/vyatta-cfg-reload new file mode 100755 index 0000000..bf8f5e7 --- /dev/null +++ b/scripts/vyatta-cfg-reload @@ -0,0 +1,59 @@ +#! /bin/bash +# Author: Stephen Hemminger +# Date: 2009 +# Description: reload portion of configurateion + +# **** License **** +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# This code was originally developed by Vyatta, Inc. +# Portions created by Vyatta are Copyright (C) 2006, 2007, 2008 Vyatta, Inc. +# All Rights Reserved. +# **** End License **** + +if [ $# -eq 0 ]; then + echo "Usage: $0 config path ..." + exit 1 +fi + +if [ $EUID -ne 0 ]; then + echo "Must be root" + exit 1 +fi + +T=$IFS; IFS="/" +path=/opt/vyatta/config/active/protocols/"$*" +IFS=$T + +# No point in reloading if that portion of config doesn't exist +if [ ! -d $path ]; then + echo "$path does not exist" + exit 1 +fi + +# Begin reloading transaction +/opt/vyatta/sbin/vyatta-cfg-cmd-wrapper begin || exit 1 + +# In case of error undo +trap "/opt/vyatta/sbin/vyatta-cfg-cmd-wrapper end" EXIT HUP INT QUIT TERM + +# Save current configuration +tmp=/tmp/${daemon}-restart.$$ +/opt/vyatta/sbin/vyatta-save-config.pl $tmp || exit 1 + +# Erase portion of active configuration for that protocol +rm -fr $path + +# Reload causing configuration to activate - implies commit +/opt/vyatta/sbin/vyatta-load-config.pl $tmp || exit 1 + +# remove tmp file if successful +rm $tmp + |