diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2022-02-01 19:25:41 +0100 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2022-02-01 19:25:41 +0100 |
| commit | 69a416caa2bce3dc4a3aff61fb8ae955f7561e51 (patch) | |
| tree | 7f80e7f3143872c2e0a8867399abfcd35c9d5dbc /scripts | |
| parent | fdee7340ac18b0866abf0c44643f4c937fc4cf80 (diff) | |
| download | dotfiles-server-69a416caa2bce3dc4a3aff61fb8ae955f7561e51.tar.xz dotfiles-server-69a416caa2bce3dc4a3aff61fb8ae955f7561e51.zip | |
Reorganise scripts
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/backup/docker_volumes_backup.sh | 11 | ||||
| -rwxr-xr-x | scripts/backup/postgres_backup_v1.sh | 31 | ||||
| -rwxr-xr-x | scripts/backup/postgres_backup_v2.sh | 16 | ||||
| -rwxr-xr-x | scripts/install_docker.sh | 17 | ||||
| -rwxr-xr-x | scripts/package_sync.sh | 5 | ||||
| -rwxr-xr-x | scripts/setup_fail2ban.sh | 4 | ||||
| -rwxr-xr-x | scripts/setup_ufw.sh | 9 | ||||
| -rwxr-xr-x | scripts/utils/create_docker_network | 3 | ||||
| -rwxr-xr-x | scripts/utils/create_docker_volume | 4 |
9 files changed, 100 insertions, 0 deletions
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 |
