lancer un script ruby

Lancer un script Ruby comme service Linux sous Ubuntu

Partagez sur:

Dans ce tutoriel, nous comment lancer un script Ruby comme service Linux sous Ubuntu.

Parfois, vous créez un script, puis vous souhaitez que les scripts soient contrôlés par systemd ou, dans certains cas, vous souhaitez que les scripts soient redémarrés par eux-mêmes lorsqu’ils sont tués pour une raison quelconque.

Dans de tels cas, systemd sous Linux aide à configurer les services qui peuvent être gérés.

 

Lire aussi: Comment corriger l’erreur Busybox Initramfs sur Ubuntu

 

Dans un de mes projets récent j’étais confronté à ce problème, c’est à dire lancer une application Ruby au démarrage du système.

Par le passé upstart était disponible dans Ubuntu pour faire ces genres d’opération, mais les nouvelles versions de ubuntu sont passés de upstart à systemd.

Donc cela nous permet de créer des services contrôler par systemd.

Cette méthode peut être appliquer à la plupart des langages de script pour lancer un script comme service Linux, mais il faut au préalable l’environnement d’exécution du langage de concerné.

Lancer un script Ruby comme service Linux

Pour ce faire, suivez les étapes suivantes.

1- Lancer la commande suivante dans votre terminal :

cd /etc/systemd/system

2-Créez un fichier nommé votre-service.service
et incluez les éléments suivants :

[Unit]
Description=<description about this service>

[Service]
User=<user e.g. root>
WorkingDirectory=<directory_of_script e.g. /root>
ExecStart=<script which needs to be executed>
Restart=always

[Install]
WantedBy=multi-user.target

 

Pour les projets spécifiques à Python qui incluent un environnement
virtuel :

[Unit]
Description=<project description>

[Service]
User=<user e.g. root>
WorkingDirectory=<path to your project directory containing your python script>
ExecStart=/home/user/.virtualenv/bin/python main.py
Restart=always
# replace /home/user/.virtualenv/bin/python with your virtualenv and main.py with your script

[Install]
WantedBy=multi-user.target

Ou

[Unit]
Description=<project description>

[Service]
User=<user e.g. root>
WorkingDirectory=<path to your project directory>
ExecStart=/bin/bash -c 'cd /home/ubuntu/project/ && source venv/bin/activate && python test.py'

[Install]
WantedBy=multi-user.target

 

3- Rechargez les fichiers de service pour inclure le nouveau service.

sudo systemctl daemon-reload

4- Démarrez votre service

sudo systemctl start your-service.service

5- Pour vérifier l'état de votre service

sudo systemctl status example.service

6- Pour activer votre service à chaque redémarrage

sudo systemctl enable example.service

 

7- Pour désactiver votre service à chaque redémarrage

sudo systemctl disable example.service

Ici prend fin, le tutoriel sur comment lancer un script Ruby comme
service Linux sous ubuntu.


Partagez sur: