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