added some scripts in bin/
This commit is contained in:
parent
ddf9f16ce1
commit
4e2717fab0
11
bin/convert-to-ogg
Executable file
11
bin/convert-to-ogg
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
foreach my $arg (@ARGV)
|
||||||
|
{
|
||||||
|
my $out = $arg;
|
||||||
|
$out =~ s/\....$//;
|
||||||
|
system('oggenc', '-b', '192', '-o', "$out.ogg", $arg);
|
||||||
|
}
|
||||||
|
|
11
bin/convert-to-wav
Executable file
11
bin/convert-to-wav
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
foreach my $arg (@ARGV)
|
||||||
|
{
|
||||||
|
my $out = $arg;
|
||||||
|
$out =~ s/\....$//;
|
||||||
|
system('mplayer', '-vo', 'null', '-ao', "pcm:file=$out.wav", $arg);
|
||||||
|
}
|
||||||
|
|
43
bin/gpgedit
Executable file
43
bin/gpgedit
Executable file
@ -0,0 +1,43 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
# Author: Josh Holtrop
|
||||||
|
# Purpose: edit a file encrypted by gpg
|
||||||
|
# Set environment variable GPGEDIT_RECIPIENT to specify the recipient
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
sub usage
|
||||||
|
{
|
||||||
|
print STDERR "Usage: $0 <file>\n";
|
||||||
|
exit(42);
|
||||||
|
}
|
||||||
|
|
||||||
|
usage() unless ($#ARGV >= 0);
|
||||||
|
my $fname = shift(@ARGV);
|
||||||
|
my $dfname = $fname;
|
||||||
|
$dfname =~ s/\.gpg$//i;
|
||||||
|
|
||||||
|
my $result = system('gpg', '--decrypt', '--output', $dfname, $fname);
|
||||||
|
if ($result != 0)
|
||||||
|
{
|
||||||
|
print STDERR "Error decrypting: exiting.\n";
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
my $editor = $ENV{'EDITOR'};
|
||||||
|
$editor = 'vim' if ($editor =~ /^\s*$/);
|
||||||
|
|
||||||
|
system($editor, $dfname);
|
||||||
|
|
||||||
|
my $recipient = $ENV{'GPGEDIT_RECIPIENT'};
|
||||||
|
my @cmd = ('gpg', '--encrypt');
|
||||||
|
if ($recipient !~ /^\s*$/)
|
||||||
|
{
|
||||||
|
push(@cmd, '--recipient', $recipient);
|
||||||
|
}
|
||||||
|
push(@cmd, $dfname);
|
||||||
|
|
||||||
|
system('mv', $fname, "$fname~");
|
||||||
|
system(@cmd);
|
||||||
|
unlink($dfname);
|
99
bin/ssh_execute.pl
Executable file
99
bin/ssh_execute.pl
Executable file
@ -0,0 +1,99 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
# Josh Holtrop
|
||||||
|
# 2006-05-05
|
||||||
|
|
||||||
|
use warnings;
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
sub usage
|
||||||
|
{
|
||||||
|
print "Usage: $0 [options] command [args]\n";
|
||||||
|
print "Options:\n";
|
||||||
|
print " -q Run <command> on hosts sequentially (default in parallel)\n";
|
||||||
|
print " -s<ssh> Use <ssh> instead of 'ssh' for a remote shell program\n";
|
||||||
|
print " -u<user> Use username <user> instead of your own\n";
|
||||||
|
print " -h<hostlist> The hosts to run the command on, comma-separated\n";
|
||||||
|
print " If the -h option is not given, the host list is\n";
|
||||||
|
print " read from standard input, one host per line\n";
|
||||||
|
exit(42);
|
||||||
|
}
|
||||||
|
|
||||||
|
my $ssh = 'ssh';
|
||||||
|
my $user = '';
|
||||||
|
my $seq = 0;
|
||||||
|
my @hosts = ();
|
||||||
|
my @command = ();
|
||||||
|
|
||||||
|
for (my $i = 0; $i <= $#ARGV; $i++)
|
||||||
|
{
|
||||||
|
if ($ARGV[$i] eq '-q')
|
||||||
|
{
|
||||||
|
$seq = 1;
|
||||||
|
}
|
||||||
|
elsif ($ARGV[$i] =~ /^-s(.*)$/)
|
||||||
|
{
|
||||||
|
if (length($1) > 0)
|
||||||
|
{
|
||||||
|
$ssh = $1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
usage() if ($i == $#ARGV);
|
||||||
|
$ssh = $ARGV[++$i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elsif ($ARGV[$i] =~ /^-h(.*)$/)
|
||||||
|
{
|
||||||
|
if (length($1) > 0)
|
||||||
|
{
|
||||||
|
@hosts = split(/,/, $1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
usage() if ($i == $#ARGV);
|
||||||
|
@hosts = split(/,/, $ARGV[++$i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elsif ($ARGV[$i] =~ /^-u(.*)$/)
|
||||||
|
{
|
||||||
|
if (length($1) > 0)
|
||||||
|
{
|
||||||
|
$user = $1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
usage() if ($i == $#ARGV);
|
||||||
|
$user = $ARGV[++$i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
# We've reached the command
|
||||||
|
@command = splice(@ARGV, $i);
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$user .= '@' if ($user ne '');
|
||||||
|
usage() if ($#command < 0);
|
||||||
|
|
||||||
|
if ($#hosts < 0)
|
||||||
|
{
|
||||||
|
# Read hosts from stdin
|
||||||
|
while (my $host = <STDIN>)
|
||||||
|
{
|
||||||
|
chomp($host);
|
||||||
|
push(@hosts, $host);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach my $host (@hosts)
|
||||||
|
{
|
||||||
|
my $f = $seq ? 0 : fork();
|
||||||
|
$f || system($ssh, "$user$host", @command);
|
||||||
|
exit(0) unless ($f || $seq); # Exit if not parent and not sequential
|
||||||
|
}
|
||||||
|
|
||||||
|
while (wait() != -1) {} # Wait for all children to exit
|
||||||
|
|
||||||
|
exit(0);
|
Loading…
x
Reference in New Issue
Block a user