diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/node-exists.pl | 47 | ||||
-rwxr-xr-x | scripts/vyatta-remote-copy.pl | 68 |
2 files changed, 115 insertions, 0 deletions
diff --git a/scripts/node-exists.pl b/scripts/node-exists.pl new file mode 100755 index 0000000..8a77ea3 --- /dev/null +++ b/scripts/node-exists.pl @@ -0,0 +1,47 @@ +#!/usr/bin/perl -W + + +# **** 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) 2007 Vyatta, Inc. +# All Rights Reserved. +# +# Author: Deepti Kulkarni +# Date: May 2010 +# Description: Script to check if the node exists in the configuration +# +# **** End License **** + +use strict; +use warnings; +use lib "/opt/vyatta/share/perl5"; +use Vyatta::Config; +use Vyatta::ConfigOutput; +my $config = new Vyatta::Config; + +if ($ARGV[0]) + { + my $node = $ARGV[0]; + my $level = $ARGV[1]; + my $i=2; + while ($ARGV[$i]) + { + my $sublevel = $ARGV[$i]; + $level = $level . " " . $sublevel; + $i++; + } + + $config->setLevel($level); + if ($config->existsOrig($node)) + { exit 0; } + else { exit 1; } + } diff --git a/scripts/vyatta-remote-copy.pl b/scripts/vyatta-remote-copy.pl new file mode 100755 index 0000000..93507ad --- /dev/null +++ b/scripts/vyatta-remote-copy.pl @@ -0,0 +1,68 @@ +#!/usr/bin/perl + +# Author: Deepti Kulkarni +# Date: May 2010 +# Description: script to save file remotely. + +# **** 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 **** + +use strict; +use lib "/opt/vyatta/share/perl5"; + +my $save_file; + +if (defined($ARGV[0])) { + $save_file = $ARGV[0]; +} +my $tmp_file = $ARGV[1]; +my $flag = $ARGV[2]; + +my $mode = 'local'; +my $proto; + +if ($save_file =~ /^[^\/]\w+:\//) { + +if ($save_file =~ /^(\w+):\/\/\w/) { + $mode = 'url'; + $proto = lc($1); + if ($proto eq 'ftp') { + } + elsif ($proto eq 'scp') { + } else { + print "Invalid url protocol [$proto]\n"; + exit 1; + } + } else { + print "Invalid url [$save_file]\n"; + exit 1; + } +} +if ($flag == 0) +{ + $save_file=$save_file . ".gz" +} +if ($mode eq 'url') { + print "Saving output to $save_file\n"; + my $rc = system("curl -# -T $tmp_file $save_file"); + system("rm -f $tmp_file"); + if ($rc) { + print "Error saving $save_file\n"; + exit 1; + } +} + +print "Done\n"; +exit 0; |