aboutsummaryrefslogtreecommitdiffstats
path: root/vps-do.pl
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-07-18 14:13:33 +0200
committerJozanLeClerc <bousset.rudy@gmail.com>2020-07-18 14:13:33 +0200
commit2f35325f5b5cd37ea241adff64c6c82226bffc7b (patch)
treebe575fd1c6695a1c2f4047f03d4c02ffe2487166 /vps-do.pl
parentRemoved useless file (diff)
downloadjoe-scripts-2f35325f5b5cd37ea241adff64c6c82226bffc7b.tar.gz
joe-scripts-2f35325f5b5cd37ea241adff64c6c82226bffc7b.tar.bz2
joe-scripts-2f35325f5b5cd37ea241adff64c6c82226bffc7b.tar.xz
joe-scripts-2f35325f5b5cd37ea241adff64c6c82226bffc7b.tar.zst
joe-scripts-2f35325f5b5cd37ea241adff64c6c82226bffc7b.zip
Moved vps-do script
Diffstat (limited to 'vps-do.pl')
-rwxr-xr-xvps-do.pl81
1 files changed, 81 insertions, 0 deletions
diff --git a/vps-do.pl b/vps-do.pl
new file mode 100755
index 0000000..60740cd
--- /dev/null
+++ b/vps-do.pl
@@ -0,0 +1,81 @@
+#!/usr/local/bin/perl
+
+use strict;
+use warnings;
+use Term::ANSIColor;
+
+sub main {
+ my $argc = $#ARGV + 1;
+ if ($argc < 1) {
+ print colored("Failed!\n", 'bold red')
+ . 'Missing argument, at least 2 needed '
+ . colored("[script-invoke - (argument(s))]\n", 'bold');
+ exit 1;
+ }
+ my $scripts_dir = '/root/scripts/src/';
+ my $called_script = '';
+ my $word = '';
+ my $ssh_boy = 'root@jozanleclerc.xyz';
+ my $argv_line = '';
+ if (
+ $ARGV[0] eq 'addsshkey' ||
+ $ARGV[0] eq 'adduser' ||
+ $ARGV[0] eq 'chdesc' ||
+ $ARGV[0] eq 'chowner' ||
+ $ARGV[0] eq 'newrepo' ||
+ $ARGV[0] eq 'rmrepo' ||
+ $ARGV[0] eq 'rmuser'
+ ) {
+ $called_script = $scripts_dir . 'gitjoe/' . $ARGV[0] . '.pl';
+ }
+ elsif (
+ $ARGV[0] eq "update-gitjoe" ||
+ $ARGV[0] eq "update-vps"
+ ) {
+ $word = $ARGV[0];
+ $word =~ s/update-//;
+ $called_script = $scripts_dir . 'update/' . $word . '.pl';
+ }
+ else {
+ print colored("Failed!\n", 'bold red')
+ . colored($ARGV[0], 'bold yellow')
+ . ": unknown script. Known scripts are:\n"
+ . colored("addsshkey\n", 'bold green')
+ . colored("adduser\n", 'bold green')
+ . colored("chdesc\n", 'bold green')
+ . colored("chowner\n", 'bold green')
+ . colored("newrepo\n", 'bold green')
+ . colored("rmrepo\n", 'bold green')
+ . colored("rmuser\n", 'bold green')
+ . colored("update-gitjoe\n", 'bold green')
+ . colored("update-vps\n", 'bold green');
+ exit 2;
+ }
+ print "Calling " . colored($called_script, 'bold green') . " via " . colored($ssh_boy, 'bold magenta') . ".\n";
+ if ($argc > 1) {
+ print "Arguments:\n";
+ my $i = 1;
+ while ($i < $argc) {
+ $argv_line = $argv_line . ' "' . $ARGV[$i] . '"';
+ print colored($ARGV[$i], 'bold yellow') . "\n";
+ $i += 1;
+ }
+ }
+ my $dash = `/bin/sh -c "which dash"`;
+ chomp $dash;
+ system(
+ $dash,
+ '-c',
+ 'ssh ' . $ssh_boy . " << EOF
+" . $called_script . $argv_line . "
+exit
+EOF
+"
+ );
+ print "Done.\n";
+ exit;
+}
+
+main();
+
+__END__