Skip to content

Commit 0895fd3

Browse files
author
Hidde Lycklama
committed
Add global deploy script
Add maven daemon on webservice Add backup script (+ cron) Add connection to backup server Add decryption script
1 parent 1ed8885 commit 0895fd3

File tree

8 files changed

+61
-12
lines changed

8 files changed

+61
-12
lines changed

run_imovies.sh

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env bash
2+
3+
cd /home/imovies-admin/imovies
4+
mvn spring-boot:run

virtual-machines/backup/Vagrantfile

+4-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Vagrant.configure("2") do |config|
2222
# Create a forwarded port mapping which allows access to a specific port
2323
# within the machine from a port on the host machine. In the example below,
2424
# accessing "localhost:8080" will access port 80 on the guest machine.
25-
config.vm.network "forwarded_port", guest: 22, host: 22222
25+
#config.vm.network "forwarded_port", guest: 22, host: 22222
2626

2727
# Create a private network, which allows host-only access to the machine
2828
# using a specific IP.
@@ -70,11 +70,13 @@ Vagrant.configure("2") do |config|
7070
config.vm.provision "shell", inline: <<-SHELL
7171
apt-get update
7272
apt-get install -y iptables
73+
apt-get install -y unzip
7374
SHELL
7475

7576
config.vm.provision "shell", path: "hardening.sh"
77+
config.vm.provision "file", source: "decrypt.sh", destination: "/home/vagrant/decrypt.sh"
7678

77-
id_rsa_key_pub = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDASQZtt7Oi+3u6T28lUw15NjoiW+MHZXeheDqBlEO2JN7p8Oi9crRpuVAHA0TbO53l4elhnixbrfwHfGuME4//FniI/t64SMhVlIqBTCXQVzhG6HEri+BwtrCHSHj6/BRukiXD3qGA1vnaLyzoFjPf1PBukxU5q7pyl4vjDEa7NakU0jt0zK7GUvuHXxRw1ICHBIXof8TZ1+n7NZZsyA3K2jogT9SkZY/6jhj6kPkN74omk22Z1hcuLXZt8c6vE33q8j1gmsOfIBwzTuDwO+3h2CEtJRLK6c0uDQ5mLMROrYoseSiAVLzfsvEKQ+46bBsToG6FXqueYdxl7EmVAxdpp6zwiZvlWUiB0MIkTNO/uZuFtibmMcJVxeDAyJwbHryKFCFOW/LtzNbAUkZfXVIoJQihEVsWilECPCqdjILaoMnCaVFmjstxtOoI0vXxFHZpfq6yAqjOHiV/lViqDxsQnU4401S602+IjQ5KUZtGHFfjtiGA4lfiYB7+U28P8PA/ok9eRGla4nmjfv1p8rzOQKaflqsZNsKgtMPfERCShvfgOvk8B96lkvEO7FrOQzM9EkRh4FRMXpUFjbvQYXNRTJqm9E3Meoj1Hze1yhgfCJMTUvfGW02O1XiyvupQkUTu0cO3Xmkk+WuG9T6P4wubG9QjtB2qtHx3oW5FIdceiw== imovies-admin@ubuntu"
79+
id_rsa_key_pub = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCyVTafuR1rnt4wmqVdjzc7x3LYhubxpW9Ew0YXAvde5FpplDnoMXhWY/9q8CRLeGgOEo1HY0ceWBL9IS5OKpfqnPYAtjAE5xMmTd0TfMVrtD0xplLOpXjpaiCwyMGoucWY58V3JNucAfixe9sU6SGl+xGy1La6syN/HIL18yrXKuLIgQ/RuCgw6TXxiNEa8/xXa1o3+Q9/hxDb9ONky5G00kxPUcxJPOgMGdBz2ev/d0IrkeQvs0wXEjQOmiotPJzimpjMkAm6/WL2SmyAmG3HxXc9NqNUBD0ft5pMFz2bH2ivE/Ga20nAksjRSpd7Ife4PBtp5PycuInCqFZGfve8oDE16g6a6nHU1mkkrfDlBh8OuqnuC1gYvcwtEnYbkdNAFjQx2GCfMA7E7SqT5fIG3ZSk5D6Ua50owMq7gIo1RNUto3ldYwczotYIynRZ5t6Il5bnIDc3V9Mxo9fVx/njsXRjdaSKZLz/BARyngSKo/6Yq0ixUnYvQtjsFRwm1DsIz0BJTOfGjc6GcBoMwT7fPXDiqu0W8RslsSNFePqJ+8z0ziMDXxvQVflHRFIOVMRd9F9s+S00htgYYzOUIqOlamlXLxTCKgfGuzzdFWl8ydytIYU3tooRlp5WW7Ln3g7Xd9UU9EWfFdq1ZHUCA5uGOcVQUCCy8J/PifPUuC5UOQ== backup@imovies.com"
7880

7981
config.vm.provision :shell,
8082
:inline => "echo 'appending SSH Pub Key to ~vagrant/.ssh/authorized_keys' && echo '#{id_rsa_key_pub }' >> /home/vagrant/.ssh/authorized_keys && chmod 600 /home/vagrant/.ssh/authorized_keys"

virtual-machines/deploy.sh

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/usr/bin/env bash
2+
3+
# RUN ON LOCAL MACHINE
4+
5+
(cd backup && vagrant destroy -f)
6+
(cd database && vagrant destroy -f)
7+
(cd webservice && vagrant destroy -f)
8+
9+
(cd backup && vagrant up)
10+
(cd database && vagrant up)
11+
(cd webservice && vagrant up)

virtual-machines/webservice/Vagrantfile

+11-1
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ Vagrant.configure("2") do |config|
7272
apt-get update
7373
apt-get upgrade -y
7474
apt-get install -y git
75+
apt-get install -y zip
7576
apt-get install -y maven
7677
apt-get install -y iptables
7778
apt-get install -y vim
@@ -80,9 +81,12 @@ Vagrant.configure("2") do |config|
8081
SHELL
8182

8283
config.vm.provision "shell", path: "add_new_user.sh"
84+
config.vm.provision "file", source: "./scripts/backup.sh", destination: "/home/imovies-backup/scripts/backup.sh"
8385
config.vm.provision "file", source: "./keys/id_rsa", destination: "/home/imovies-admin/.ssh/id_rsa"
8486
config.vm.provision "file", source: "./keys/id_rsa.pub", destination: "/home/imovies-admin/.ssh/id_rsa.pub"
85-
config.vm.provision "file", source: "./keys/bak_rsa.pub.pem", destination: "/home/vagrant/.ssh/bak_rsa.pub.pem"
87+
config.vm.provision "file", source: "./keys/bu_rsa", destination: "/home/imovies-backup/.ssh/id_rsa"
88+
config.vm.provision "file", source: "./keys/bu_rsa.pub", destination: "/home/imovies-backup/.ssh/id_rsa.pub"
89+
config.vm.provision "file", source: "./keys/bak_rsa.pub.pem", destination: "/home/imovies-backup/.ssh/bak_rsa.pub.pem"
8690
config.vm.provision "file", source: "./for_db", destination: "/home/imovies-admin/.ssh/for_db"
8791
config.vm.provision "file", source: "./for_db.pub", destination: "/home/imovies-admin/.ssh/for_db.pub"
8892
config.vm.provision "shell", inline: <<-SHELL
@@ -91,11 +95,17 @@ Vagrant.configure("2") do |config|
9195
ssh-add /home/imovies-admin/.ssh/for_db
9296
echo -e "Host 192.168.1.5\n\tStrictHostKeyChecking no\n" >> /home/vagrant/.ssh/config
9397
echo -e "Host 192.168.1.5\n\tStrictHostKeyChecking no\n" >> /home/imovies-admin/.ssh/config
98+
echo -e "Host 192.168.1.6\n\tStrictHostKeyChecking no\n" >> /home/imovies-backup/.ssh/config
9499
chown imovies-admin:imovies-admin /home/imovies-admin/.ssh/for*
100+
chown imovies-admin:imovies-admin /home/imovies-admin/run_imovies.sh
101+
chown imovies-backup:imovies-backup /home/imovies-backup/.ssh/*
102+
chown imovies-backup:imovies-backup /home/imovies-backup/scripts
103+
chown imovies-backup:imovies-backup /home/imovies-backup/scripts/backup.sh
95104
SHELL
96105
config.vm.provision "shell", path: "build_tunnel.sh"
97106
config.vm.provision "shell", path: "download_imovies.sh"
98107
config.vm.provision "shell", path: "hardening.sh"
108+
config.vm.provision "shell", path: "cron.sh"
99109

100110
@keys = Dir.entries('../ssh_public_keys/')
101111
for key in @keys

virtual-machines/webservice/add_new_user.sh

+17-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,20 @@ password
99
sudo rm -rf /home/imovies-admin/.ssh
1010
sudo mkdir /home/imovies-admin/.ssh
1111

12-
chmod o+w /home/imovies-admin/.ssh
12+
chmod o+w /home/imovies-admin/.ssh
13+
14+
15+
# add backup user
16+
sudo adduser imovies-backup <<!
17+
password
18+
password
19+
!
20+
21+
sudo rm -rf /home/imovies-backup/.ssh
22+
sudo mkdir /home/imovies-backup/.ssh
23+
24+
sudo rm -rf /home/imovies-backup/scripts
25+
sudo mkdir /home/imovies-backup/scripts
26+
27+
chown vagrant:vagrant /home/imovies-backup/scripts
28+
chmod o+w /home/imovies-backup/.ssh

virtual-machines/webservice/cron.sh

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
#!/bin/sh
22

33
# Switch to vagrant user for crontab config
4-
su vagrant
4+
su imovies-backup
5+
6+
chmod 700 /home/imovies-backup/scripts/backup.sh
57

68
# daily backup at 00:00
79
# Update crontab
8-
(crontab -l ; echo "0 0 * * * bash ~/scripts/backup.sh")| crontab -
10+
(crontab -l ; echo "0 0 * * * bash /home/imovies-backup/scripts/backup.sh")| crontab -

virtual-machines/webservice/download_imovies.sh

+5-1
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,8 @@ find . -type d -exec chmod 700 {} +
2424
chmod 700 ./mvnw
2525

2626
cp ./src/main/resources/application.properties.example ./src/main/resources/application.properties
27-
chown imovies-admin:imovies-admin /home/imovies-admin/imovies/src/main/resources/application.properties
27+
chown imovies-admin:imovies-admin /home/imovies-admin/imovies/src/main/resources/application.properties
28+
29+
# run imovies in daemon
30+
#daemon --name="imovies-webservice" --output=webservice.txt sh /home/imovies-admin/imovies/run_imovies.sh
31+
(cd /home/imovies-admin/imovies && (./run_imovies.sh & ))

virtual-machines/webservice/scripts/backup.sh

+5-5
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ echo "=== BACKING UP LOGS ===";
55

66
BACKUP_DIR=/tmp/backup
77

8-
BACKUP_PKEY=/home/vagrant/.ssh/bak_rsa.pub.pem
8+
BACKUP_PKEY=/home/imovies-backup/.ssh/bak_rsa.pub.pem
99
#BACKUP_PKEY=/Users/hidde/IdeaProjects/iMovies/virtual-machines/webservice/keys/bak_rsa.pub.pem # local, to test
1010

1111
rm -rf $BACKUP_DIR
@@ -14,8 +14,8 @@ mkdir $BACKUP_DIR/original
1414
cd $BACKUP_DIR/original
1515

1616
# all files to be backed up
17-
cp /var/log/syslog $BACKUP_DIR/original
18-
#echo "HELLO BACKUP" > $BACKUP_DIR/original/log.txt # test log
17+
#cp /var/log/syslog $BACKUP_DIR/original
18+
echo "HELLO BACKUP" > $BACKUP_DIR/original/log.txt # test log
1919

2020
zip -r $BACKUP_DIR/original.zip $BACKUP_DIR/original
2121

@@ -33,8 +33,8 @@ rm -f $BACKUP_DIR/key.pem
3333
echo "=== ENCRYPTED ===";
3434
echo "=== UPLOADING TO SERVER ===";
3535

36-
#scp -P 22222 $BACKUP_DIR/key.bin.enc vagrant@localhost:/
37-
#scp -P 22222 $BACKUP_DIR/digest.zip.enc vagrant@localhost:/
36+
scp -P 22 $BACKUP_DIR/key.bin.enc vagrant@192.168.1.6:~/
37+
scp -P 22 $BACKUP_DIR/digest.zip.enc vagrant@192.168.1.6:~/
3838

3939
# Local, to test
4040
#cp $BACKUP_DIR/key.bin.enc ~/Desktop/key.bin.enc

0 commit comments

Comments
 (0)