From 69a416caa2bce3dc4a3aff61fb8ae955f7561e51 Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Tue, 1 Feb 2022 19:25:41 +0100 Subject: Reorganise scripts --- .profile | 5 +++-- bin/create_docker_network | 2 -- bin/create_docker_volume | 3 --- install_docker.sh | 17 ----------------- package_sync.sh | 5 ----- scripts/backup/docker_volumes_backup.sh | 11 +++++++++++ scripts/backup/postgres_backup_v1.sh | 31 +++++++++++++++++++++++++++++++ scripts/backup/postgres_backup_v2.sh | 16 ++++++++++++++++ scripts/install_docker.sh | 17 +++++++++++++++++ scripts/package_sync.sh | 5 +++++ scripts/setup_fail2ban.sh | 4 ++++ scripts/setup_ufw.sh | 9 +++++++++ scripts/utils/create_docker_network | 3 +++ scripts/utils/create_docker_volume | 4 ++++ setup_fail2ban.sh | 4 ---- setup_ufw.sh | 9 --------- 16 files changed, 103 insertions(+), 42 deletions(-) delete mode 100644 bin/create_docker_network delete mode 100644 bin/create_docker_volume delete mode 100755 install_docker.sh delete mode 100755 package_sync.sh create mode 100755 scripts/backup/docker_volumes_backup.sh create mode 100755 scripts/backup/postgres_backup_v1.sh create mode 100755 scripts/backup/postgres_backup_v2.sh create mode 100755 scripts/install_docker.sh create mode 100755 scripts/package_sync.sh create mode 100755 scripts/setup_fail2ban.sh create mode 100755 scripts/setup_ufw.sh create mode 100755 scripts/utils/create_docker_network create mode 100755 scripts/utils/create_docker_volume delete mode 100755 setup_fail2ban.sh delete mode 100755 setup_ufw.sh diff --git a/.profile b/.profile index 0a8defc..db55de6 100644 --- a/.profile +++ b/.profile @@ -1,5 +1,5 @@ -if [ -d "$HOME/bin" ] ; then - PATH="$HOME/bin:$PATH" +if [ -d "$HOME/scripts/utils" ] ; then + PATH="$HOME/scripts/utils:$PATH" fi if [ "$BASH" ]; then @@ -7,4 +7,5 @@ if [ "$BASH" ]; then . ~/.bashrc fi fi + mesg n 2> /dev/null || true diff --git a/bin/create_docker_network b/bin/create_docker_network deleted file mode 100644 index 1e55846..0000000 --- a/bin/create_docker_network +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -sudo docker network create -d bridge $1 diff --git a/bin/create_docker_volume b/bin/create_docker_volume deleted file mode 100644 index 74e1192..0000000 --- a/bin/create_docker_volume +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -sudo mkdir /var/opt/$1 -sudo docker volume create --driver local --opt type=none --opt device=/var/opt/$1 --opt o=bind $1 diff --git a/install_docker.sh b/install_docker.sh deleted file mode 100755 index 56594ba..0000000 --- a/install_docker.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -sudo apt-get install -y \ - apt-transport-https \ - ca-certificates \ - curl \ - gnupg-agent \ - software-properties-common - -curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - -sudo apt-key fingerprint 0EBFCD88 -sudo add-apt-repository \ - "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) \ - stable" -sudo apt-get update -sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose - diff --git a/package_sync.sh b/package_sync.sh deleted file mode 100755 index 44583f0..0000000 --- a/package_sync.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -sudo apt update -y -sudo apt upgrade -y -sudo apt clean -y -sudo apt autoremove -y diff --git a/scripts/backup/docker_volumes_backup.sh b/scripts/backup/docker_volumes_backup.sh new file mode 100755 index 0000000..403c745 --- /dev/null +++ b/scripts/backup/docker_volumes_backup.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +set -Eeuo pipefail + +volumes_path="/var/lib/docker/volumes" +backup_folder="/opt/backup/docker_data" +filename="$(date -u +%Y%m%dT%H%M%SZ).tar" + +[ ! -d $backup_folder ] && mkdir -p $backup_folder + +tar cvf $backup_folder/$filename $volumes_path diff --git a/scripts/backup/postgres_backup_v1.sh b/scripts/backup/postgres_backup_v1.sh new file mode 100755 index 0000000..10f3b30 --- /dev/null +++ b/scripts/backup/postgres_backup_v1.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +set -Eeuo pipefail + +host="localhost" +port="5432" +user="postgres" +databases=("vsh_store" "time_tracker") +backup_name=$(date -u +%Y%m%dT%H%M%SZ) +backup_folder=/opt/backup/db + +for i in "${databases[@]}" +do + + pushd $backup_folder + + if [ ! -d "$i" ]; then + mkdir -p $i + fi + + cd $i + + echo "$(date -u +%Y-%m-%d_%H:%M:%SZ) Dumping $i into $backup_folder/$i/$backup_name.psql" + pg_dump -U $user -p $port -h $host -Fc --clean --if-exists $i -f $backup_name.psql + + echo "$(date -u +%Y-%m-%d_%H:%M:%SZ) Dumping $i into $backup_folder/$i/$backup_name.sql" + pg_dump -U $user -p $port -h $host --inserts --clean --if-exists $i -f $backup_name.sql + + popd + +done diff --git a/scripts/backup/postgres_backup_v2.sh b/scripts/backup/postgres_backup_v2.sh new file mode 100755 index 0000000..1f06514 --- /dev/null +++ b/scripts/backup/postgres_backup_v2.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -Eeuo pipefail + +backup_folder="/opt/backup/db/$(date -u +%F)" +postgres_host="127.0.0.1" +postgres_port="5432" +filename="$(date -u +%H%M%S).psqldump" + +[ ! -d $backup_folder ] && mkdir -p $backup_folder + +pushd $backup_folder + +pg_dumpall --host=$postgres_host --port=$postgres_port -U postgres --clean --if-exists -f $filename + +popd diff --git a/scripts/install_docker.sh b/scripts/install_docker.sh new file mode 100755 index 0000000..56594ba --- /dev/null +++ b/scripts/install_docker.sh @@ -0,0 +1,17 @@ +#!/bin/bash +sudo apt-get install -y \ + apt-transport-https \ + ca-certificates \ + curl \ + gnupg-agent \ + software-properties-common + +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - +sudo apt-key fingerprint 0EBFCD88 +sudo add-apt-repository \ + "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) \ + stable" +sudo apt-get update +sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose + diff --git a/scripts/package_sync.sh b/scripts/package_sync.sh new file mode 100755 index 0000000..44583f0 --- /dev/null +++ b/scripts/package_sync.sh @@ -0,0 +1,5 @@ +#!/bin/bash +sudo apt update -y +sudo apt upgrade -y +sudo apt clean -y +sudo apt autoremove -y diff --git a/scripts/setup_fail2ban.sh b/scripts/setup_fail2ban.sh new file mode 100755 index 0000000..b817ee6 --- /dev/null +++ b/scripts/setup_fail2ban.sh @@ -0,0 +1,4 @@ +#!/bin/bash +sudo apt install fail2ban -y +sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local +sudo service fail2ban restart diff --git a/scripts/setup_ufw.sh b/scripts/setup_ufw.sh new file mode 100755 index 0000000..0fead6f --- /dev/null +++ b/scripts/setup_ufw.sh @@ -0,0 +1,9 @@ +#!/bin/bash +sudo apt install ufw -y +sudo ufw default deny incoming +sudo ufw limit in ssh +sudo ufw allow in 80 +sudo ufw allow in 443 +# ufw allow from $YOUR_IP to any proto tcp port 5432 +sudo ufw enable +sudo ufw status diff --git a/scripts/utils/create_docker_network b/scripts/utils/create_docker_network new file mode 100755 index 0000000..861ce22 --- /dev/null +++ b/scripts/utils/create_docker_network @@ -0,0 +1,3 @@ +#!/bin/bash + +sudo docker network create -d bridge $1 diff --git a/scripts/utils/create_docker_volume b/scripts/utils/create_docker_volume new file mode 100755 index 0000000..62a27cd --- /dev/null +++ b/scripts/utils/create_docker_volume @@ -0,0 +1,4 @@ +#!/bin/bash + +sudo mkdir /var/opt/$1 +sudo docker volume create --driver local --opt type=none --opt device=/var/opt/$1 --opt o=bind $1 diff --git a/setup_fail2ban.sh b/setup_fail2ban.sh deleted file mode 100755 index b817ee6..0000000 --- a/setup_fail2ban.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -sudo apt install fail2ban -y -sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local -sudo service fail2ban restart diff --git a/setup_ufw.sh b/setup_ufw.sh deleted file mode 100755 index 0fead6f..0000000 --- a/setup_ufw.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -sudo apt install ufw -y -sudo ufw default deny incoming -sudo ufw limit in ssh -sudo ufw allow in 80 -sudo ufw allow in 443 -# ufw allow from $YOUR_IP to any proto tcp port 5432 -sudo ufw enable -sudo ufw status -- cgit v1.3