Initial Scripts Run
Signed-off-by: Georg <georg@lysergic.dev>
This commit is contained in:
parent
2678e73ff1
commit
16d3474327
1
scripts/README.md
Normal file
1
scripts/README.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
This contains scripts which are generally called manually or through cronjobs. Scripts which serve integrated purposese, i.e. init scripts, are to be found in the respective service directories.
|
1
scripts/bash/README.md
Normal file
1
scripts/bash/README.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
Contains scripts desgined to be executed through the Bourne Again Shell (#!/bin/bash).
|
46
scripts/bash/pdns_init_zone
Normal file
46
scripts/bash/pdns_init_zone
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
PDNSGROUP="pdns"
|
||||||
|
|
||||||
|
if id -nG $(id -un) | grep -qw "$PDNSGROUP"; then
|
||||||
|
|
||||||
|
if [ $# -eq 0 ] || [ $1 == "help" ] || [ $1 == "h" ] || [ $1 == "-h" ] || [ $1 == "-help" ] || [ $1 == "--help" ]; then
|
||||||
|
echo "======================================================="
|
||||||
|
echo "This script will create and secure a new zone in the Lysergic PowerDNS cluster."
|
||||||
|
echo "Please run it by specifying the desired domain name as an argument."
|
||||||
|
echo "Syntax: $ bash domain.sh example.com"
|
||||||
|
echo "Warning: No syntax check will be performed. Make sure you type the domain name exactly right or you'll cause a deep fucking mess."
|
||||||
|
echo "======================================================="
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "You do not belong to the group $PDNSGROUP and hence are not allowed to run this program."
|
||||||
|
echo "Assign yourself to the group or contact someone who is authorized to do so."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
DOMAIN=$1
|
||||||
|
NS1="ns1.3zy.de"
|
||||||
|
NS2="ns2.3zy.de"
|
||||||
|
NS3="ns3.3zy.de"
|
||||||
|
|
||||||
|
echo "==================================================="
|
||||||
|
echo "===== CREATING ZONE FOR DOMAIN $DOMAIN ====="
|
||||||
|
echo "==================================================="
|
||||||
|
/usr/bin/pdnsutil create-zone $DOMAIN $NS1
|
||||||
|
#/usr/bin/pdnsutil add-record $DOMAIN . SOA '$NS1 system.lysergic.dev 1 010800 3600 604800 3600'
|
||||||
|
#/usr/bin/pdnsutil add-record $DOMAIN . NS $NS1
|
||||||
|
/usr/bin/pdnsutil add-record $DOMAIN . NS $NS2
|
||||||
|
/usr/bin/pdnsutil add-record $DOMAIN . NS $NS3
|
||||||
|
echo "==================================================="
|
||||||
|
echo "================= ENABLING DNSSEC ================="
|
||||||
|
echo "==================================================="
|
||||||
|
/usr/bin/pdnsutil secure-zone $DOMAIN
|
||||||
|
/usr/bin/pdnsutil set-nsec3 $DOMAIN '1 0 1 ab'
|
||||||
|
/usr/bin/pdnsutil rectify-zone $DOMAIN
|
||||||
|
echo "==================================================="
|
||||||
|
/usr/bin/pdnsutil show-zone $DOMAIN
|
||||||
|
echo "==================================================="
|
||||||
|
/usr/bin/pdnsutil list-zone $DOMAIN
|
||||||
|
echo "==================================================="
|
16
scripts/bash/restic_run
Normal file
16
scripts/bash/restic_run
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#/usr/bin/echo Executing Restic S3 Backup for $(hostname -f)
|
||||||
|
export RESTIC_REPOSITORY="s3:https://$S3HOST/$S3BUCKET"
|
||||||
|
export RESTIC_PASSWORD_FILE="/etc/restic/.sec"
|
||||||
|
export AWS_ACCESS_KEY_ID="$S301"
|
||||||
|
export AWS_SECRET_ACCESS_KEY="$S302"
|
||||||
|
export RESTIC_CACHE_DIR="/opt/restic/cache"
|
||||||
|
EXCLUDE=".restic.excludes"
|
||||||
|
/usr/bin/restic --verbose backup --exclude-file="/etc/$EXCLUDE" /etc
|
||||||
|
echo "EXIT $?"
|
||||||
|
/usr/bin/restic --verbose backup --exclude-file="/home/$EXCLUDE" /home
|
||||||
|
echo "EXIT $?"
|
||||||
|
/usr/bin/restic --verbose backup --exclude-file="/opt/$EXCLUDE" /opt
|
||||||
|
echo "EXIT $?"
|
||||||
|
/usr/bin/restic --verbose backup --exclude-file="/srv/$EXCLUDE" /srv
|
||||||
|
echo "EXIT $?"
|
1
scripts/perl/README.md
Normal file
1
scripts/perl/README.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
Contains scripts designed to be executed through Perl interpreters (#!/bin/perl).
|
34
scripts/perl/botproc.pl
Normal file
34
scripts/perl/botproc.pl
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
# Work in progress.
|
||||||
|
# Requires botproc.ini.
|
||||||
|
|
||||||
|
use Config::Tiny;
|
||||||
|
use Net::OpenSSH;
|
||||||
|
use warnings;
|
||||||
|
use strict;
|
||||||
|
#use feature qw(say);
|
||||||
|
|
||||||
|
my $config = Config::Tiny->new;
|
||||||
|
$config = Config::Tiny->read( 'botproc.ini' );
|
||||||
|
|
||||||
|
foreach my $section (keys %{$config}) {
|
||||||
|
my $host = "$section";
|
||||||
|
my $OS = $config->{$section}->{OS};
|
||||||
|
#print 'The OS of ', $host, ' is ', $OS, "\n";
|
||||||
|
my $user = $config->{$section}->{User};
|
||||||
|
my $keyname = $config->{$section}->{Key};
|
||||||
|
my $keypath = "/home/georg/.ssh/" . $keyname;
|
||||||
|
my $port = $config->{$section}->{Port};
|
||||||
|
print 'Connecting to ', $host, ':', $port, ' as ', $user, ' using key ', $keyname, "\n";
|
||||||
|
my $ssh = Net::OpenSSH->new($host, user => $user, port => $port, key_path => $keypath);
|
||||||
|
$ssh->error and
|
||||||
|
die "FATAL: ", $ssh->error;
|
||||||
|
$ssh->system("uname -a") or
|
||||||
|
die "Remote command failed: ", $ssh->error;
|
||||||
|
my ($df, $err) = $ssh->pipe_out("df -h /") or
|
||||||
|
die "df query failed: " . $ssh->error;
|
||||||
|
print "Root Partition:\n";
|
||||||
|
while (<$df>) { print }
|
||||||
|
close $df;
|
||||||
|
}
|
1
scripts/sh/README.md
Normal file
1
scripts/sh/README.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
Contains scripts desgined to be executed through the Bourne Shell or compatible derivates (#!/bin/sh).
|
Loading…
Reference in New Issue
Block a user