diff options
author | Joe <bousset.rudy@gmail.com> | 2022-05-06 14:57:57 +0200 |
---|---|---|
committer | Joe <bousset.rudy@gmail.com> | 2022-05-06 14:57:57 +0200 |
commit | 6054dcfd97bc7c3b2972ad21fe2ff171cd4be549 (patch) | |
tree | b2c7da23b69ea5be45beadf8361d0de7b2c36ff4 /gitjoe-do.pl | |
download | gitjoe-scripts-6054dcfd97bc7c3b2972ad21fe2ff171cd4be549.tar.gz gitjoe-scripts-6054dcfd97bc7c3b2972ad21fe2ff171cd4be549.tar.bz2 gitjoe-scripts-6054dcfd97bc7c3b2972ad21fe2ff171cd4be549.tar.xz gitjoe-scripts-6054dcfd97bc7c3b2972ad21fe2ff171cd4be549.tar.zst gitjoe-scripts-6054dcfd97bc7c3b2972ad21fe2ff171cd4be549.zip |
udpate
Diffstat (limited to 'gitjoe-do.pl')
-rwxr-xr-x | gitjoe-do.pl | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/gitjoe-do.pl b/gitjoe-do.pl new file mode 100755 index 0000000..7c17617 --- /dev/null +++ b/gitjoe-do.pl @@ -0,0 +1,65 @@ +#!/usr/local/bin/perl + +use strict; +use warnings; +use Term::ANSIColor; + +use constant SCRIPTS_DIR => '/root/bin/gitjoe/'; +use constant SSH_BOY => 'root@jozanofastora.xyz'; + +sub main { + my $argc = $#ARGV + 1; + my $called_script = ''; + my $argv_line = ''; + if ( + $ARGV[0] eq 'addsshkey' || + $ARGV[0] eq 'newuser' || + $ARGV[0] eq 'rmuser' || + $ARGV[0] eq 'chdesc' || + $ARGV[0] eq 'chowner' || + $ARGV[0] eq 'chstate' || + $ARGV[0] eq 'newrepo' || + $ARGV[0] eq 'rmrepo' || + $ARGV[0] eq 'mvrepo' + ) { + $called_script = SCRIPTS_DIR . 'src/' . $ARGV[0] . '.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("newuser\n", 'bold green') + . colored("rmuser\n", 'bold green') + . colored("chdesc\n", 'bold green') + . colored("chowner\n", 'bold green') + . colored("chstate\n", 'bold green') + . colored("newrepo\n", 'bold green') + . colored("rmrepo\n", 'bold green') + . colored("mvrepo\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; + } + } + system( + 'ssh ' . SSH_BOY . " << EOF +" . $called_script . $argv_line . " +exit +EOF +" + ); + print "Done.\n"; + exit; +} + +main(); + +__END__ |