premier commit
This commit is contained in:
29
scripts/infoelec.sh
Executable file
29
scripts/infoelec.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
# infoelec.sh - Script pour exécuter le script PHP teleinfo.php
|
||||
|
||||
# Définir le chemin complet vers le script PHP teleinfo.php
|
||||
script_php="$(dirname "$0")/../code/teleinfo.php"
|
||||
|
||||
# Vérifier si le script PHP existe
|
||||
if [ -e "$script_php" ]; then
|
||||
# Afficher un message indiquant le début de l'exécution
|
||||
echo "Exécution du script PHP teleinfo.php..."
|
||||
|
||||
# Configuration du port série
|
||||
stty -F /dev/ttyAMA0 1200 sane evenp parenb cs7 -crtscts
|
||||
|
||||
# Exécuter le script PHP
|
||||
php "$script_php"
|
||||
|
||||
# Vérifier le code de retour de PHP
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Le script PHP teleinfo.php s'est terminé avec succès."
|
||||
else
|
||||
echo "Erreur : Le script PHP teleinfo.php a rencontré une erreur."
|
||||
fi
|
||||
else
|
||||
echo "Erreur : Le script PHP teleinfo.php n'existe pas dans le chemin spécifié : $script_php"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
50
scripts/install.sh
Executable file
50
scripts/install.sh
Executable file
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Vérifier si l'utilisateur a les droits d'administration
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo "Ce script doit être exécuté en tant qu'administrateur (root)."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Le chemin complet du script teleinfo.sh
|
||||
SCRIPT_PATH="/opt/ampere.teleinfo/scripts/infoelec.sh"
|
||||
|
||||
# Le nom d'utilisateur sous lequel le service sera exécuté
|
||||
SERVICE_USER="root"
|
||||
|
||||
# Le groupe sous lequel le service sera exécuté
|
||||
SERVICE_GROUP="root"
|
||||
|
||||
# Le nom du fichier de service systemd
|
||||
SERVICE_NAME="teleinfo.service"
|
||||
|
||||
# Le chemin complet du fichier de service systemd
|
||||
SERVICE_FILE="/etc/systemd/system/$SERVICE_NAME"
|
||||
|
||||
# Créer le fichier de service systemd
|
||||
echo "[Unit]
|
||||
Description=Service de téléinfo
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/bin/bash -c '$SCRIPT_PATH'
|
||||
WorkingDirectory=$(dirname "$SCRIPT_PATH")
|
||||
User=$SERVICE_USER
|
||||
Group=$SERVICE_GROUP
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target" > "$SERVICE_FILE"
|
||||
|
||||
# Recharger la configuration de systemd
|
||||
systemctl daemon-reload
|
||||
|
||||
# Activer le service pour le démarrage automatique
|
||||
systemctl enable "$SERVICE_NAME"
|
||||
|
||||
# Démarrer le service
|
||||
systemctl start "$SERVICE_NAME"
|
||||
|
||||
# Afficher l'état du service
|
||||
systemctl status "$SERVICE_NAME"
|
||||
|
||||
echo "Le service a été installé et démarré avec succès."
|
||||
40
scripts/upload.sh
Executable file
40
scripts/upload.sh
Executable file
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Chemin vers le répertoire contenant les fichiers CSV
|
||||
csv_dir="$(dirname \"$0\")/../data"
|
||||
|
||||
# Exclure le fichier CSV modifié le jour même
|
||||
exclude_today="-not -newermt $(date +%Y-%m-%d)"
|
||||
|
||||
# Trouver tous les fichiers CSV dans le répertoire, à l'exception de celui modifié le jour même
|
||||
csv_files=$(find "$csv_dir" -maxdepth 1 -type f -iname '*.csv' $exclude_today)
|
||||
|
||||
# URL du script PHP qui gère les fichiers CSV
|
||||
php_script="http://ampere.rpiluc001.acegrp.lan/upload.php"
|
||||
|
||||
# Vérifier si le dossier "done/" existe
|
||||
if [ ! -d "$csv_dir/done" ]
|
||||
then
|
||||
# Créer le dossier "done/"
|
||||
mkdir "$csv_dir/done"
|
||||
fi
|
||||
|
||||
# Parcourir le répertoire des fichiers CSV
|
||||
for file in $csv_files
|
||||
do
|
||||
# Calculer le CRC du fichier
|
||||
crc=$(sha1sum "$file" | awk '{print $1}')
|
||||
|
||||
# Envoyer le fichier CSV et le CRC au script PHP via cURL
|
||||
output=$(curl -F "file=@$file" $php_script)
|
||||
|
||||
# Vérifier la réponse du script PHP
|
||||
if [ "$output" = "$crc" ]
|
||||
then
|
||||
# Déplacer le fichier CSV dans le dossier "done/"
|
||||
mv "$file" "$csv_dir/done/"
|
||||
echo "Le fichier $file a été correctement traité."
|
||||
else
|
||||
echo "Une erreur s'est produite lors du traitement du fichier $file."
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user