Skip to content

Commit b1e5536

Browse files
author
Antoine Le Louet
committed
init project
1 parent a8f25df commit b1e5536

File tree

3 files changed

+114
-0
lines changed

3 files changed

+114
-0
lines changed

scripts/deploy-trading-app.sh

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/bin/bash
2+
3+
# Paramètres
4+
JAR_PATH="$1"
5+
6+
# Extraire le nom du dossier du projet à partir du chemin du jar
7+
PROJECT_DIR=$(dirname "$JAR_PATH")
8+
9+
# Extraire le nom du fichier jar sans extension
10+
JAR_FILENAME=$(basename "$JAR_PATH")
11+
JAR_NAME=$(echo "$JAR_FILENAME" | sed -E 's/-[0-9].*//')
12+
13+
# Chemin du fichier java.log
14+
LOG_PATH="$PROJECT_DIR/$JAR_NAME.log"
15+
16+
# Verifier si le jar est déjà en cours d'execution
17+
#if pgrep -f "$JAR_NAME.*\.jar" > /dev/null; then
18+
# echo "Arret du jar [$JAR_NAME] en cours..."
19+
# pkill -f "$JAR_NAME"
20+
# sleep 5
21+
#fi
22+
23+
# Lancer le projet Java
24+
echo "Lancement du jar [$JAR_FILENAME] ..."
25+
nohup java -jar "$JAR_PATH" >> "$LOG_PATH" 2>&1 &
26+
27+
# Attendre le lancement du projet
28+
sleep 5
29+
30+
31+
#echo $(tail -500f $LOG_PATH)
32+
# Vérifier le processus Java
33+
if pgrep -f "$JAR_NAME.*\.jar" > /dev/null; then
34+
echo "OK, projet lancé"
35+
else
36+
echo "Erreur au lancement du jar [$JAR_NAME]..."
37+
fi

scripts/log-ssh-connections.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import requests
2+
import time
3+
4+
slack_webhook_url = "https://hooks.slack.com/services/XXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
5+
6+
def send_slack_notification(message):
7+
payload = {
8+
"text": message
9+
}
10+
response = requests.post(slack_webhook_url, json=payload)
11+
12+
if response.status_code == 200:
13+
print("Notification sent successfully")
14+
else:
15+
print("Failed to send notification")
16+
17+
def monitor_ssh_logs():
18+
log_file = "/var/log/auth.log" # Chemin vers le fichier journal SSH
19+
known_connections = set() # Pour stocker les connexions déjà signalées
20+
21+
while True:
22+
with open(log_file, "r") as f:
23+
lines = f.readlines()
24+
25+
for line in reversed(lines):
26+
if "sshd" in line and "Accepted" in line:
27+
if line not in known_connections:
28+
known_connections.add(line)
29+
30+
# Analyser la ligne pour extraire les informations
31+
ip_address = line.split(" ")[10]
32+
username = line.split(" ")[8]
33+
date_time = " ".join(line.split(" ")[0:3])
34+
35+
new_connection_info = f"New SSH connection from {ip_address} by {username} at {date_time}"
36+
send_slack_notification(new_connection_info)
37+
38+
time.sleep(60) # Attendre 1 minute avant de vérifier à nouveau
39+
40+
if __name__ == "__main__":
41+
monitor_ssh_logs()
42+

scripts/restart-java.sh

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/bin/bash
2+
3+
# Vérifier s'il n'y a pas déjà un projet Java en cours
4+
if pgrep -f "java .*\.jar" > /dev/null; then
5+
echo "Arret du projet java en cours..."
6+
pkill -f "java .*\.jar"
7+
fi
8+
9+
# Lancer le JAR fourni en arguments en arriere-plan
10+
if [ $# -eq 0 ]; then
11+
echo "Erreur : Aucun jar fourni..."
12+
exit 1
13+
fi
14+
15+
# Chemin absolu vers le JAR
16+
JAR_PATH="$1"
17+
18+
# Extraction du répertoire
19+
JAR_DIR=$(dirname "$JAR_PATH")
20+
21+
# Construire le chemin du fichier
22+
LOG_FILE="$JAR_DIR/java.log"
23+
24+
# Lancement du jar et redirection des logs
25+
nohup java -jar "$JAR_PATH" >> "$LOG_FILE" 2>&1 &
26+
27+
# Attendre quelques instants pour laisser le processus se lancer
28+
sleep 5
29+
30+
# Vérifier si le processus Java est en cours d'exécution
31+
if pgrep -f "java .*\.jar" > /dev/null; then
32+
echo "OK"
33+
else
34+
echo "Erreur au lancement du projet jar..."
35+
fi

0 commit comments

Comments
 (0)