summaryrefslogtreecommitdiff
path: root/scripts/vyatta-remote-copy.pl
diff options
context:
space:
mode:
authorDeepti Kulkarni <deepti@vyatta.com>2010-06-04 18:13:35 +0000
committerDeepti Kulkarni <deepti@vyatta.com>2010-06-04 18:13:35 +0000
commitdcb38f37888b2a8a1f93e27ca5259035cee99870 (patch)
tree9795079b4fdfe2216ccbd873972c61b32aab60f2 /scripts/vyatta-remote-copy.pl
parent33640932e80562c3100e4affc5ddeaeefa210072 (diff)
downloadvyatta-op-dcb38f37888b2a8a1f93e27ca5259035cee99870.tar.gz
vyatta-op-dcb38f37888b2a8a1f93e27ca5259035cee99870.zip
Show tech-support Larkspur enhancements.
Diffstat (limited to 'scripts/vyatta-remote-copy.pl')
-rwxr-xr-xscripts/vyatta-remote-copy.pl68
1 files changed, 68 insertions, 0 deletions
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;